Xml布局
<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.XiaoYuanKeji.niubi.MainActivity">
<Button
android:id="@+id/btn1"
android:text="下一个"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ViewFlipper
android:background="@android:color/holo_red_light"
android:layout_centerInParent="true"
android:id="@+id/viewflipper"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:textSize="20sp"
android:text="天王盖地虎。。。。"/>
<TextView
android:id="@android:id/text2"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:textSize="20sp"
android:text="宝塔镇河妖。。。。!"/>
</ViewFlipper>
</RelativeLayout>
动画:
in:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="500" />
</set>
out:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="500" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0"
android:toYDelta="-100%p"
android:duration="500"/>
</set>
java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
protected TextView mText1;
protected TextView mText2;
protected ViewFlipper mViewflipper;
protected Button mBtn1;
private Handler mHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
//mViewflipper.showNext(); 这是第二种方法Timer
return false;
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_main);
initView();
//添加动画
Animation animation = AnimationUtils.loadAnimation(this, R.anim.in);
Animation animation1 = AnimationUtils.loadAnimation(this, R.anim.out);
mViewflipper.setInAnimation(animation);
mViewflipper.setOutAnimation(animation1);
//轮循 第一种方法
mHandler.post(new Runnable() {
@Override
public void run() {
mViewflipper.showNext();
mHandler.postDelayed(this, 1000);
}
});
/*
第二种方法Timer
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
mHandler.sendEmptyMessage(0);
}
},1000,1000);*/
}
private void initView() {
mText1 = (TextView) findViewById(android.R.id.text1);
mText2 = (TextView) findViewById(android.R.id.text2);
mViewflipper = (ViewFlipper) findViewById(R.id.viewflipper);
mBtn1 = (Button) findViewById(R.id.btn1);
mBtn1.setOnClickListener(MainActivity.this);
mText1 = (TextView) findViewById(android.R.id.text1);
mText2 = (TextView) findViewById(android.R.id.text2);
}
//点击事件的显示下一个
@Override
public void onClick(View view) {
if (view.getId() == R.id.btn1) {
mViewflipper.showNext();
}
}
}
方法三:更加简单,两句搞定。