好的,下面是使用 Android ViewPager 实现图片轮播的代码:
- 布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
- Activity 代码:
publicclass MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private TabLayout tabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = findViewById(R.id.view_pager);
tabLayout = findViewById(R.id.tab_layout);
// 初始化 ViewPager 和 TabLayout
initViewPager();
}
private void initViewPager() {
// 准备数据
List<String> titles = Arrays.asList("标题1", "标题2", "标题3");
List<Fragment> fragments = new ArrayList<>();
for (int i = 0; i < titles.size(); i++) {
fragments.add(ImageFragment.newInstance(i));
}
// 创建 Adapter
FragmentPagerAdapter adapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return fragments.size();
}
@NonNull
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titles.get(position);
}
};
// 设置 Adapter
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager, true);
}
}
- 图片 Fragment 代码:
``` public class ImageFragment extends Fragment {
private static final String ARG_POSITION = "position";
private