Android 像playstore一样查看寻呼机视图

Android 像playstore一样查看寻呼机视图,android,android-viewpager,viewpagerindicator,Android,Android Viewpager,Viewpagerindicator,我已经厌倦了查看寻呼机的代码,但它不适合我,因为我想显示和play store一样的内容 HashMap<String, String> url_maps = new HashMap<String, String>(); url_maps.put("PragYal Gold", "http://sponsorimage/9434654.jpg"); url_maps.put("", "http://sponsorimage/4322132.

我已经厌倦了查看寻呼机的代码,但它不适合我,因为我想显示和play store一样的内容

HashMap<String, String> url_maps = new HashMap<String, String>();
        url_maps.put("PragYal Gold", "http://sponsorimage/9434654.jpg");
        url_maps.put("", "http://sponsorimage/4322132.jpg");
        url_maps.put("Zee Bangles", "http://sponsorimage/2312958.png");
        url_maps.put("", "http://sponsorimage/5134998.png");
        url_maps.put("Mahapragya", "http://sponsorimage/6830009.png");
        url_maps.put("", "http://sponsorimage/8537751.png");
        url_maps.put("Zee Bangles", "http://sponsorimage/3549573.png");
        url_maps.put("Shah & Comapny", "http://sponsorimage/5400190.png");
        url_maps.put("", "http://sponsorimage/8135090.png");
        for (String name : url_maps.keySet()) {
            TextSliderView textSliderView = new TextSliderView(getApplicationContext());
            // initialize a SliderLayout
            textSliderView
                    .description(name)
                    .image(url_maps.get(name))
                    .setScaleType(BaseSliderView.ScaleType.Fit)
                    .setOnSliderClickListener(this);

            //add your extra information
            textSliderView.bundle(new Bundle());
            textSliderView.getBundle()
                    .putString("extra", name);

            mDemoSlider.addSlider(textSliderView);
        }
        mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Accordion);
        mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
        mDemoSlider.setCustomAnimation(new DescriptionAnimation());
        mDemoSlider.setDuration(4000);
        mDemoSlider.addOnPageChangeListener(this);
HashMap url_maps=newhashmap();
url_maps.put(“PragYal Gold”http://sponsorimage/9434654.jpg");
url\u映射。放置(“,”http://sponsorimage/4322132.jpg");
url_maps.put(“Zee手镯”http://sponsorimage/2312958.png");
url\u映射。放置(“,”http://sponsorimage/5134998.png");
url_maps.put(“Mahapragya”http://sponsorimage/6830009.png");
url\u映射。放置(“,”http://sponsorimage/8537751.png");
url_maps.put(“Zee手镯”http://sponsorimage/3549573.png");
url_maps.put(“Shah&Comapny”http://sponsorimage/5400190.png");
url\u映射。放置(“,”http://sponsorimage/8135090.png");
for(字符串名称:url\u maps.keySet()){
TextSliderView TextSliderView=新的TextSliderView(getApplicationContext());
//初始化幻灯片布局
文本幻灯片视图
.说明(姓名)
.image(url_maps.get(名称))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(本);
//添加您的额外信息
text sliderView.bundle(新bundle());
textSliderView.getBundle()
.putString(“额外”,名称);
mDemoSlider.addSlider(textSliderView);
}
mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Accordion);
mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_-Bottom);
setCustomAnimation(新的DescriptionAnimation());
mdemosider.setDuration(4000);
mDemoSlider.addOnPageChangeListener(此);
这是我的选拔赛和它的展示

但我想这样请给我解决方案


谢谢

您必须在水平回收视图中将卡片视图用作行

对于此行为,您必须将snaphelper与recyclerview一起使用

Snaphelper是关键。不需要使用任何图书馆


您必须在水平回收视图中将卡片视图用作行

对于此行为,您必须将snaphelper与recyclerview一起使用

Snaphelper是关键。不需要使用任何图书馆


请签出此查看寻呼机库:


请签出此查看寻呼机库:


对于旧的
ViewPager
,您可以像这样轻松地完成:

viewPager.setClipToPadding(false);
viewPager.setPadding(48, 0, 48, 0);
viewPager.setPageMargin(24);
对于
ViewPagger2
执行以下操作: 在xml中:

您的装饰类:

class ItemDecoration: RecyclerView.ItemDecoration() {
  override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
    super.getItemOffsets(outRect, view, parent, state)
    outRect.right = 16.toPx()
 //   outRect.left=16.toPx()
  }
}

fun Int.toPx(): Int {
  val metrics = Resources.getSystem().displayMetrics
  val px = this * (metrics.densityDpi / 160f)
  return Math.round(px)
}

对于旧的
ViewPager
,您可以像这样轻松地执行此操作:

viewPager.setClipToPadding(false);
viewPager.setPadding(48, 0, 48, 0);
viewPager.setPageMargin(24);
对于
ViewPagger2
执行以下操作: 在xml中:

您的装饰类:

class ItemDecoration: RecyclerView.ItemDecoration() {
  override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
    super.getItemOffsets(outRect, view, parent, state)
    outRect.right = 16.toPx()
 //   outRect.left=16.toPx()
  }
}

fun Int.toPx(): Int {
  val metrics = Resources.getSystem().displayMetrics
  val px = this * (metrics.densityDpi / 160f)
  return Math.round(px)
}

我建议使用水平循环视图。你可以查看我正在使用'com.daimajia.slider.library.SliderLayout'库检查这可能会有帮助我建议使用水平循环视图。你可以查看我正在使用'com.daimajia.slider.library.SliderLayout'库检查这可能会有帮助你在哪里
滑块适配器
来自哪里?据我所知,它不是任何支持库的一部分。SliderAdapter是您的coustom适配器,您将制作并希望使用它。SliderAdapter来自哪里?据我所知,它不是任何支持库的一部分。SliderAdapter是您的coustom适配器,您将制作并希望使用它。