Android轮播图 实现方式二: 无限轮播 三方框架banner。(成熟可以直接使用)!

属性参考github :https://github.com/youth5201314/banner

  1.   项目的Gradle 中加入

   //添加欢迎引导页的Banner轮播
   implementation 'com.youth.banner:banner:1.4.10'
2. 布局文件中的使用。
 
  
<com.youth.banner.Banner
    android:id="@+id/home_play_banner"
    android:layout_width="match_parent"
    android:layout_height="@dimen/base150dp"
    android:layout_gravity="center_horizontal"
    android:layout_marginLeft="@dimen/base15dp"
    android:layout_marginRight="@dimen/base15dp"
    mlp:indicator_width = "@dimen/base10dp"
    mlp:indicator_height = "@dimen/base10dp"
    mlp:indicator_margin = "@dimen/base3dp"
    />

  3.  代码中使用。 

 
  
public class MyFragment extends Fragment {

    @BindView(R.id.banner)
    Banner banner;

    private List mTitleList = new ArrayList<>();
    private List mImgList = new ArrayList<>();
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = View.inflate(getActivity(), R.layout.fragment_my, null);
        ButterKnife.bind(this, view); // 注意的地方。Fragment中 控件引入,。
        BannerSet(); // 设置轮播图。
        return view;

    }

    private void BannerSet() {
        mImgList.add(R.drawable.books_image_1);
        mImgList.add(R.drawable.books_image_2);
        mImgList.add(R.drawable.books_image_3);
        mImgList.add(R.drawable.books_image_4);

        mTitleList.clear();
        for (int i = 0; i < mImgList.size(); i++) {
            mTitleList.add("第"+ i + "张图片");
        }
        
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE); // 显示圆形指示器和标题(水平显示
//设置图片加载器
banner.setImageLoader(new MyLoader());
//设置图片集合
banner.setImages(mImgList);
//设置banner动画效果
banner.setBannerAnimation(Transformer.DepthPage);
//设置标题集合(当banner样式有显示title时)
banner.setBannerTitles(mTitleList);
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
banner.start();
  // setOnBannerClickListener  1.4.9 以后就废弃了 。  setOnBannerListener 是1.4.9以后使用。
 
  
banner.setOnBannerListener(new OnBannerListener() {
    @Override
    public void OnBannerClick(int position) {
        UIUtils.showToast("第"+ position +"张轮播图点击了!");
    }
});

}}
4. 图片加载器
 
  
public class MyLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load(path).into(imageView);
    }

}
5.属性介绍:

Android轮播图 实现方式二: 无限轮播 三方框架banner。(成熟可以直接使用)!_第1张图片

 
 

你可能感兴趣的:(应用框架以及源码分析)