listview点击实现帧动画平移放大

来源:互联网 发布:m4步枪 知乎 编辑:程序博客网 时间:2024/06/04 01:26
public class MainActivity extends AppCompatActivity {    private ListView listview;    private ImageView image1;    private ImageView image2;    private List<String> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listview = (ListView) findViewById(R.id.mylist);        image1 = (ImageView) findViewById(R.id.myimg);        image2 = (ImageView) findViewById(R.id.myimg2);        list = new ArrayList<>();        list.add("播放帧动画");        list.add("播放平移动画");        list.add("播放透明动画");        list.add("播放放大动画");        list.add("播放集合动画");        //设置适配器        listview.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list));//点击事件判断各种动画和实现功能        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                switch (position){                    case 0://帧动画                        image2.setVisibility(View.GONE);                        image1.setVisibility(View.VISIBLE);                        image1.setImageResource(R.drawable.myanimo);                       AnimationDrawable  drawable = (AnimationDrawable) image1.getDrawable();                       drawable.start();                        break;                    case 1://平移                        image1.setVisibility(View.GONE);                        image2.setVisibility(View.VISIBLE);                        TranslateAnimation animation=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,2f);                        animation.setDuration(3000);                        image2.startAnimation(animation);                        break;                    case 2://透明                        image1.setVisibility(View.GONE);                        image2.setVisibility(View.VISIBLE);                        AlphaAnimation al=new AlphaAnimation(0.5f,1f);                        al.setDuration(3000);                        image2.startAnimation(al);                        break;                    case 3://缩放                        image1.setVisibility(View.GONE);                        image2.setVisibility(View.VISIBLE);                        ScaleAnimation scaleAnimation=new ScaleAnimation(Animation.RELATIVE_TO_SELF,3,Animation.RELATIVE_TO_SELF,3);                        scaleAnimation.setDuration(3000);                        image2.startAnimation(scaleAnimation);                        break;                    case 4://组合                        image1.setVisibility(View.GONE);                        image2.setVisibility(View.VISIBLE);                        Animation animation1= AnimationUtils.loadAnimation(MainActivity.this,R.anim.myset);                        image2.startAnimation(animation1);                        break;                }            }        });    }} anim://组合动画
<set xmlns:android="http://schemas.android.com/apk/res/android">    <rotate//旋转        android:fromDegrees="360"        android:toDegrees="0"        android:pivotX="50%"        android:pivotY="50%"        android:duration="1000"        ></rotate>    <translate//平移        android:fromXDelta="0"        android:toXDelta="-1000"        ></translate></set>xml:
<ListView    android:id="@+id/mylist"    android:layout_width="match_parent"    android:layout_height="300dp"    /><ImageView    android:id="@+id/myimg"    android:layout_width="100dp"    android:layout_height="100dp"    android:visibility="gone"    android:layout_gravity="center_horizontal"    /><ImageView    android:id="@+id/myimg2"    android:layout_width="100dp"    android:layout_height="100dp"    android:layout_gravity="center_horizontal"    android:src="@drawable/img0"    />


原创粉丝点击