ViewPager+Animation简单示例

来源:互联网 发布:照片合成软件 编辑:程序博客网 时间:2024/06/07 04:49
<span style="font-size:24px;"><span style="font-size:24px;">第二个活动界面</span>public class MainActivity extends Activity {private Button bt1;private Button bt2;private ArrayList<View> list;private void getdata() {list = new ArrayList<View>();list.add(getLayoutInflater().inflate(R.layout.a1, null));list.add(getLayoutInflater().inflate(R.layout.a2, null));list.add(getLayoutInflater().inflate(R.layout.a3, null));}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getdata();ViewPager vp = (ViewPager) findViewById(R.id.vp);bt1 = (Button) list.get(0).findViewById(R.id.button1);bt2 = (Button) list.get(1).findViewById(R.id.button2);//Log.i("zzzz", bt1.toString()+"dd");vp.setAdapter(pa);bt1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {MainActivity.this.tiaozhuan();}});bt2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {MainActivity.this.tiaozhuan();}});}private PagerAdapter pa = new PagerAdapter() {@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0 == arg1;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}// 删除页面@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView(list.get(position));}@Overridepublic Object instantiateItem(ViewGroup container, int position) {container.addView(list.get(position));if (position == 2) {Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.test);list.get(position).startAnimation(anim);anim.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {// TODO Auto-generated method stub}@Overridepublic void onAnimationRepeat(Animation animation) {// TODO Auto-generated method stub}@Overridepublic void onAnimationEnd(Animation animation) {MainActivity.this.tiaozhuan();}});}return list.get(position);}};private void tiaozhuan() {Intent i = new Intent(MainActivity.this, TwoActivity.class);startActivity(i);}}</span>



第二个活动界面

public class TwoActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_two);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.two, menu);return true;}}

动画布局

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <rotate        android:fromDegrees="0"        android:toDegrees="720"                android:pivotX="50%"        android:pivotY="50%"                android:duration="3000"        />        <scale        android:fromXScale="0"        android:toXScale="1"                android:fromYScale="0"        android:toYScale="1"                android:pivotX="50%"        android:pivotY="50%"                android:duration="5000"        /></set>

主函数布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <android.support.v4.view.ViewPager        android:id="@+id/vp"        android:layout_width="match_parent"        android:layout_height="match_parent" >    </android.support.v4.view.ViewPager></RelativeLayout>


0 0
原创粉丝点击