主界面: public class MainActivity extends AppCompatActivity { private ListView listView; private ImageView imageView; private ArrayList<String> list = new ArrayList<String>(); private ImageView imageview2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listview); imageView = (ImageView) findViewById(R.id.img); imageview2 = (ImageView) findViewById(R.id.img2); list.add("帧动画"); list.add("平移动画"); list.add("渐变动画"); list.add("放大动画"); list.add("旋转加平移"); listView.setAdapter(new MyAdapter()); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { private AnimationDrawable ani; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { switch (position){ case 0: imageview2.setVisibility(View.GONE); imageView.setVisibility(View.VISIBLE); imageView.setImageResource(R.drawable.frame); ani = (AnimationDrawable)imageView.getDrawable(); ani.start(); break; case 1: imageView.setVisibility(View.GONE); imageview2.setVisibility(View.VISIBLE); TranslateAnimation tr=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,2f); tr.setDuration(3000); imageview2.startAnimation(tr); break; case 2: imageView.setVisibility(View.GONE); imageview2.setVisibility(View.VISIBLE); AlphaAnimation al=new AlphaAnimation(0.5f,1f); al.setDuration(3000); imageview2.startAnimation(al); break; case 3: imageview2.setVisibility(View.GONE); imageview2.setVisibility(View.VISIBLE); ScaleAnimation ro=new ScaleAnimation(Animation.RELATIVE_TO_SELF,3,Animation.RELATIVE_TO_SELF,3); ro.setDuration(3000); imageview2.startAnimation(ro); break; case 4: imageView.setVisibility(View.GONE); imageview2.setVisibility(View.VISIBLE); Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.set); imageview2.startAnimation(animation); break; } } }); } class MyAdapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView=View.inflate(MainActivity.this,android.R.layout.simple_list_item_1,null); TextView tv= (TextView) convertView.findViewById(android.R.id.text1); tv.setText(list.get(position)); return convertView; } } } 这个XML是新建一个anim里创建XML<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:fillEnabled="true"> <rotate android:duration="1000" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="-100" android:toYScale="0.0" /> <translate android:duration="2000" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="1000" android:toYDelta="0" /> </set>
这个XML在drawable里创建XML<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" ><item android:drawable="@drawable/img0" android:duration="50"></item>。。。</animation-list>
动画
最新推荐文章于 2023-02-20 17:22:57 发布