android studio 自动轮播图
时间: 2023-11-20 13:58:57 浏览: 132
以下是使用ViewFlipper实现Android Studio自动轮播图的代码示例:
1.在XML布局文件中添加ViewFlipper和ImageView组件:
```xml
<ViewFlipper
android:id="@+id/view_flipper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inAnimation="@android:anim/fade_in"
android:outAnimation="@android:anim/fade_out">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/g1" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/g2" />
</ViewFlipper>
```
2.在Java代码中设置ViewFlipper的自动轮播:
```java
private ViewFlipper viewFlipper;
private int[] images = {R.drawable.g1, R.drawable.g2};
private int currentIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewFlipper = findViewById(R.id.view_flipper);
viewFlipper.setAutoStart(true);
viewFlipper.setFlipInterval(3000);
viewFlipper.startFlipping();
// 添加监听器,当图片轮播到最后一张时,重新开始轮播
viewFlipper.getInAnimation().setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
if (currentIndex == images.length - 1) {
currentIndex = 0;
viewFlipper.setDisplayedChild(currentIndex);
}
}
@Override
public void onAnimationRepeat(Animation animation) {}
});
}
```
以上代码中,我们首先在onCreate()方法中获取ViewFlipper组件,并设置自动轮播的时间间隔和开始轮播。然后,我们添加了一个动画监听器,当图片轮播到最后一张时,重新开始轮播。
阅读全文