簡體   English   中英

使用卡片視圖查看尋呼機

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM