[英]View Pager With Card View
我在我的應用程序中實現了視圖尋呼機,它可以工作但只顯示一個元素。
如果我想顯示所有卡片,如果有多余的卡片轉到其他頁面怎么辦?
這是我的代碼
<androidx.viewpager.widget.ViewPager
android:id="@+id/pager"
android:layout_width="wrap_content"
android:layout_height="130dp"
android:layout_margin="@dimen/fab_margin"
android:foregroundGravity="center"
android:overScrollMode="never"
android:clipToPadding="true" />
在創建
models=new ArrayList<>();
models.add(new ViewPagerModel(R.drawable.icon,""+getString(R.string.app_profile)));
models.add(new ViewPagerModel(R.drawable.ic_school,""+R.string.mainurl));
models.add(new ViewPagerModel(R.drawable.ic_class,""+R.string.eForm));
models.add(new ViewPagerModel(R.drawable.ic_info,""+R.string.about));
models.add(new ViewPagerModel(R.drawable.noaman,""+R.string.about_the_programmer));
adapter=new ViewPagerAdapter(models,getContext());
viewPager=view.findViewById(R.id.pager);
viewPager.setAdapter(adapter);
viewPager.setPadding(8,0,8,0);
查看尋呼機適配器
public class ViewPagerAdapter extends PagerAdapter {
private List<ViewPagerModel> models;
private LayoutInflater layoutInflater;
private Context context;
public ViewPagerAdapter(List<ViewPagerModel> models, Context context) {
this.models = models;
this.context = context;
}
@Override
public int getCount() {
return models.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view.equals(object);
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
layoutInflater=LayoutInflater.from(context);
View view=layoutInflater.inflate(R.layout.item,container,false);
ImageView imageView;
TextView title;
imageView=view.findViewById(R.id.pagerImage);
title=view.findViewById(R.id.pagerTitle);
imageView.setImageResource(models.get(position).getImage());
title.setText(models.get(position).getTitle());
container.addView(view,0);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View)object);
}
}
每次您將視圖添加到 0 位置
替換container.addView(view,0);
與container.addView(view);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.