Androidのcarousel(回転式)画像はどのように実装しますか?

Androidアプリケーションでスワイプ可能なスライドショーを実装するには、ViewPager と PagerAdapter を使用できます。以下はその実装方法です。

  1. まず、レイアウトファイルにViewPagerコントロールを追加します。
<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
  1. 独自のPagerAdapterクラスを作成し、PagerAdapterを継承して、以下のメソッドをオーバライドします。
@Override
public int getCount() {
    // 返回轮播图的数量
    return imageList.size();
}

@Override
public boolean isViewFromObject(View view, Object object) {
    // 判断当前视图是否为对象
    return view == object;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
    // 创建视图并添加到容器中
    ImageView imageView = new ImageView(context);
    imageView.setImageResource(imageList.get(position));
    container.addView(imageView);
    return imageView;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    // 销毁视图
    container.removeView((View) object);
}
  1. アクティビティまたはフラグメント内で、ViewPagerコントロールを見つけ、PagerAdapterを設定します。
ViewPager viewPager = findViewById(R.id.viewPager);
viewPager.setAdapter(new MyPagerAdapter());
  1. HandlerとRunnableを使用すれば、自動スライドショーを実現できます。
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
    @Override
    public void run() {
        int currentItem = viewPager.getCurrentItem();
        viewPager.setCurrentItem(currentItem + 1);
        handler.postDelayed(this, 3000); // 3秒后再次执行
    }
};

// 在onResume方法中启动轮播
@Override
protected void onResume() {
    super.onResume();
    handler.postDelayed(runnable, 3000);
}

// 在onPause方法中停止轮播
@Override
protected void onPause() {
    super.onPause();
    handler.removeCallbacks(runnable);
}

Androidの画像スライダーを実装できます。ただし、スライダー画像リソースを提供する必要があり、Listを使用して画像リソースIDを格納し、PagerAdapterで使用できるようにする必要があります。

bannerAds