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" />
listview点击实现帧动画平移放大
最新推荐文章于 2021-05-27 06:31:32 发布