多頁面管理控件涌穆,可以實現(xiàn)頁面自動播放的功能
靜態(tài)引入:在layout文件中直接導入
動態(tài)導入:addView()方法
常用的方法
案例:
- 實現(xiàn)輪播
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ViewFlipper
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/viewfill"></ViewFlipper>
</LinearLayout>
java實現(xiàn)功能
public class FillActivity extends AppCompatActivity {
private ViewFlipper viewFlipper;
private int[]resId={R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fillview);
viewFlipper=(ViewFlipper)findViewById(R.id.viewfill);
//動態(tài)導入方式為viewfill加view
for (int i=0;i<resId.length;i++){
viewFlipper.addView(getImageView(resId[i]));
}
//添加動畫效果
viewFlipper.setInAnimation(this,R.anim.abc_fade_in);
viewFlipper.setOutAnimation(this,R.anim.abc_fade_out);
//設定視圖切換的時間間隔
viewFlipper.setFlipInterval(3000);
//開始
viewFlipper.startFlipping();
}
private ImageView getImageView(int resId){
ImageView imageView=new ImageView(this);
imageView.setBackgroundResource(resId);
//imageView.setImageResource(resId);
return imageView;
}
}
*實現(xiàn)手勢滑動
在Java實現(xiàn)的功能代碼中寫實現(xiàn)此方法
//手勢滑動的處理
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()){
//手指已經(jīng)落下
case MotionEvent.ACTION_DOWN:{
startX=event.getX();
break;
}
//手指來回滑動
case MotionEvent.ACTION_MOVE:{
//向右滑動event.getX()>startX
if (event.getX()- startX>100){
viewFlipper.setInAnimation(this,R.anim.left_in);
viewFlipper.setOutAnimation(this,R.anim.left_out);
viewFlipper.showPrevious();;//顯示前一頁
}
//向左滑動event.getX()<startX
if (startX-event.getX()>100){
viewFlipper.setInAnimation(this,R.anim.right_in);
viewFlipper.setOutAnimation(this,R.anim.right_out);
viewFlipper.showNext();//顯示后一頁
}
break;
}
//手指離開抬起
case MotionEvent.ACTION_UP:{
break;
}
}
return super.onTouchEvent(event);
}
以上就可以實現(xiàn)成功
需要其他資源就是四張圖片
四個動畫效果的文件(類似于這樣寫法)