国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LayoutAnimation實現ListView的子View淡入淡出效果效果圖

2019-11-09 14:36:21
字體:
來源:轉載
供稿:網友

效果圖

一、布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_second"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@android:color/holo_blue_light"    android:orientation="vertical"    tools:context="karry.example.com.test.SecondActivity">    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:onClick="start"        android:text="顯示ListView數據" />    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:onClick="stop"        android:text="隱藏ListView數據" />    <ListView        android:id="@+id/lv"        android:layout_width="100dp"        android:layout_height="wrap_content"        android:layout_gravity="right|bottom"        android:orientation="vertical"></ListView></LinearLayout>

二、在anim文件夾下新建slide_left.xmlm,這個動畫實現ListView顯示子View時的動畫效果

<set xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator">    <translate        android:duration="500"        android:fromXDelta="5%p"        android:toXDelta="-2%p" />    <alpha        android:duration="500"        android:fromAlpha="0"        android:toAlpha="1"></alpha></set>

在anim文件夾下新建slide_right.xml,這個動畫實現隱藏子View時的動畫效果

<set xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator">    <translate        android:duration="300"        android:fromXDelta="0%p"        android:toXDelta="5%p" />    <alpha        android:duration="300"        android:fromAlpha="1"        android:toAlpha="0"></alpha></set> 

三、MainActivity中ListView數據的添加,以及點擊事件的完成:

package karry.example.com.test;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.view.animation.LayoutAnimationController;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import butterknife.Bind;import butterknife.ButterKnife;public class SecondActivity extends AppCompatActivity {    @Bind(R.id.lv)    ListView lv;    PRivate MyAdapter adapter = new MyAdapter();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);        ButterKnife.bind(this);        lv.setAdapter(adapter);    }    //隱藏ListView數據的點擊事件    public void stop(View v) {        Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide_right);        LayoutAnimationController controller = new LayoutAnimationController(animation);        controller.setDelay(0.2f);//表示在第一個子View動畫執行到20%時,第二個子View的動畫開始執行        controller.setOrder(LayoutAnimationController.ORDER_NORMAL);//順序顯示子View的動畫        lv.setLayoutAnimation(controller);        lv.startLayoutAnimation();        animation.setFillAfter(true);    }    //顯示ListView數據的點擊事件    public void start(View v) {        Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide_left);        LayoutAnimationController controller = new LayoutAnimationController(animation);        controller.setDelay(0.2f);        controller.setOrder(LayoutAnimationController.ORDER_REVERSE);//逆序顯示子View的動畫        lv.setLayoutAnimation(controller);        lv.startLayoutAnimation();        animation.setFillAfter(false);    }    public void clear(View v) {        lv.setVisibility(View.INVISIBLE);    }    class MyAdapter extends BaseAdapter {        @Override        public int getCount() {            return 4;        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return i;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            TextView textView = new TextView(SecondActivity.this);            textView.setText("按鈕" + i);            textView.setTextSize(DentisyUtils.sp2px(SecondActivity.this, 18));            textView.setGravity(Gravity.CENTER);            ListView.LayoutParams param = new ListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);            textView.setLayoutParams(param);            return textView;        }    }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南川市| 仙游县| 涟源市| 邵阳市| 雅安市| 峡江县| 黎平县| 祁连县| 邯郸县| 中阳县| 五原县| 昌图县| 安多县| 洪泽县| 东乌| 内江市| 丹阳市| 邯郸县| 霍山县| 清原| 清水河县| 黄龙县| 三明市| 乐业县| 镇坪县| 利津县| 炉霍县| 安塞县| 夏河县| 泾阳县| 喜德县| 康平县| 西贡区| 论坛| 德江县| 屏东县| 怀仁县| 临沂市| 郧西县| 栾川县| 南宫市|