Slider框架简单使用

(27) 2024-01-03 09:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Slider框架简单使用,希望能够帮助你!!!。

我们呢都会做一些广告,但是做轮播图呢比较麻烦,有现成封装好的东西,为啥不用呢?今天来整个Slider玩一下

首先导入依赖

  1. //三级缓存的图片加载器
  2. compile 'com.squareup.picasso:picasso:2.3.2'
  3. //属性动画的兼容包
  4. compile 'com.nineoldandroids:library:2.4.0'
  5. //依赖开源的轮播大图控件
  6. compile 'com.daimajia.slider:library:1.1.5@aar'

Activity部分

  1. private SliderLayout sliderLayout;
  2. private PagerIndicator indicator;
  3. //加载图片网址
  4. private String[]ImageUrl = {"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529296205958&di=48d4177b37e5f8ef35fb1817006cb6d1&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201508%2F06%2F20150806122050_d2Qfh.jpeg",
  5. "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3731997375,2461734094&fm=27&gp=0.jpg",
  6. "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529891036&di=0c9ef2484c9918be2edf6ef21d5dab96&imgtype=jpg&er=1&src=http%3A%2F%2Fimg.edu-hb.com%2FNewsImg%2F201310%2F10%2F131010190637le6ts.jpg",
  7. "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529296486682&di=1f61e5af3c14374684a426390b642aa6&imgtype=0&src=http%3A%2F%2Fg.hiphotos.baidu.com%2Fzhidao%2Fpic%2Fitem%2F8644ebf81a4c510f7f4b489c6859252dd52aa5ad.jpg"};
  8. //图片名字
  9. private String[]ImageDesc = {"迪丽热巴","杨幂","高圆圆","杨颖"};
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. initImageSlider();
  15. }
  16. /**
  17. * 初始化首页的商品广告条
  18. */
  19. private void initImageSlider() {
  20. sliderLayout = (SliderLayout) findViewById(R.id.slider);
  21. indicator = (PagerIndicator) findViewById(R.id.custom_indicator);
  22. for (int i = 0; i < ImageUrl.length; i++) {
  23. //新建三个展示View,并且添加到SliderLayout
  24. TextSliderView tsv = new TextSliderView(this);
  25. //设置图片和名字相对应
  26. tsv.image(ImageUrl[i]).description(ImageDesc[i]);
  27. //for循环中,i不能直接设置到点击事件上,需要拿一个数据接受
  28. final int finalI = i;
  29. tsv.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
  30. @Override
  31. public void onSliderClick(BaseSliderView slider) {
  32. Toast.makeText(MainActivity.this, ImageDesc[finalI], Toast.LENGTH_SHORT).show();
  33. }
  34. });
  35. //控件添加View
  36. sliderLayout.addSlider(tsv);
  37. }
  38. //对SliderLayout进行一些自定义的配置
  39. sliderLayout.setCustomAnimation(new DescriptionAnimation());
  40. sliderLayout.setPresetTransformer(SliderLayout.Transformer.Accordion);
  41. //翻转时间
  42. sliderLayout.setDuration(2000);
  43. //sliderLayout.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
  44. sliderLayout.setCustomIndicator(indicator);
  45. }

Xml视图部分

  1. <com.daimajia.slider.library.SliderLayout
  2. android:id="@+id/slider"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent">
  5. <com.daimajia.slider.library.Indicators.PagerIndicator
  6. android:id="@+id/custom_indicator"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:layout_alignParentBottom="true"
  10. android:layout_centerHorizontal="true"
  11. android:layout_marginBottom="10dp"
  12. app:selected_height="3dp"
  13. app:selected_padding_left="2dp"
  14. app:selected_padding_right="2dp"
  15. app:selected_width="16dp"
  16. app:shape="rect"
  17. app:unselected_color="#55333333"
  18. app:unselected_height="3dp"
  19. app:unselected_padding_left="2dp"
  20. app:unselected_padding_right="2dp"
  21. app:unselected_width="16dp"></com.daimajia.slider.library.Indicators.PagerIndicator>
  22. </com.daimajia.slider.library.SliderLayout>

谢谢观看,欢迎评论,

Slider框架简单使用_https://bianchenghao6.com/blog__第1张

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复