Android の ViewFlipper の詳しい使い方
ViewFlipperはAndroidのコンテナコントロールで、複数のサブビューを表示し、ジェスチャーやコードでサブビューの切り替えを制御できます。ここではViewFlipperの使用の詳細について説明します。
- XML レイアウト ファイルで ViewFlipper を定義するには
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 添加子视图 -->
</ViewFlipper>
- 在Java代码中获取ViewFlipper的实例:
ViewFlipper viewFlipper = findViewById(R.id.viewFlipper);
- 子ビューを追加する
View view1 = LayoutInflater.from(this).inflate(R.layout.layout_view1, null);
View view2 = LayoutInflater.from(this).inflate(R.layout.layout_view2, null);
viewFlipper.addView(view1);
viewFlipper.addView(view2);
- 自動切り替えの時間間隔を設定します:
viewFlipper.setAutoStart(true);
viewFlipper.setFlipInterval(2000); // 每隔2秒自动切换一次
- 自動切り替えを開始します
viewFlipper.startFlipping();
- ジェスチャリスナーの設定:
viewFlipper.setOnTouchListener(new View.OnTouchListener() {
private float startX;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
break;
case MotionEvent.ACTION_UP:
float endX = event.getX();
if (startX - endX > 100) { // 向右滑动
viewFlipper.showNext();
} else if (endX - startX > 100) { // 向左滑动
viewFlipper.showPrevious();
}
break;
}
return true;
}
});
上記の手順で、AndroidアプリケーションでViewFlipperを使用した複数の子ビューの切り替えが実現できます。切り替えエフェクトを変化させたり、さらに多くの子ビューを追加したり、コードで切り替えのロジックを制御することもできます。