@zhuhf
        
        2017-11-30T10:40:52.000000Z
        字数 1739
        阅读 1184
    一、XML中引入
固定高度:
<com.jcgroup.commonlib.ui.widget.bannerView.JCBanner
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="192dp"/>
指定宽高比:
<com.jcgroup.commonlib.ui.widget.bannerView.JCBanner
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:heightRatio="0.75"/>
以上,表示高度与宽度的比例为:0.75
二、基本使用方式
//...省略...
JCBanner banner = ...;
List<ObjBean> bannerList = ...;
banner.setPages(new BannerItemCreatorImpl<ObjBean>(bannerList) {
        /**
        * 绑定View
        */
        @Override
        public View onCreateView(Context context) {
            View view = LayoutInflater.from(context).inflate(R.layout.banner, null);
            return view;
        }
        /**
        * 绑定数据
        */
        @Override
        public void getItemView(View view, int position, ObjBean data) {
            TextView tv = (TextView) view.findViewById(R.id.tv);
            ImageView iv = (ImageView) view.findViewById(R.id.iv);
            tv.setText(data.getTitle());
            iv.setImageResource(R.drawable.ic_home_default);
        }
    })
      // 指示器
      .setPageIndicator(new int[]{R.drawable.indicator_unselected, R.drawable.indicator_selected})
      // 点击事件
      .setOnItemClickListener(new OnItemClickListener() {
          @Override
          public void onItemClick(int position) {
             // ...
          }
      })
      .start();
//...省略...
三、更多属性支持
| 属性 | 描述 | 
|---|---|
| canLoop | 是否开启循环 | 
| heightRatio | 宽高比 | 
2. 代码中设置
| 属性 | 描述 | 
|---|---|
| setCanLoop(boolean canLoop) | 是否开启循环 | 
| setHeightRatio(float ratio) | 设置宽高比 | 
| setPageIndicatorAlign(PageIndicatorAlign align) | 指示器三个方向:居左 (RelativeLayout.ALIGN_PARENT_LEFT),居中 (RelativeLayout.CENTER_HORIZONTAL),居右 (RelativeLayout.ALIGN_PARENT_RIGHT) | 
| start(long autoTurningTime) | 设置翻页时间,单位:毫秒 | 
| setCurrentItem(int index) | 设置当前显示的Item | 
| setOnPageChangeListener(ViewPager.OnPageChangeListener onPageChangeListener) | 页面切换监听器 | 
| stop() | 停止切换 | 
| setPageTransformer(PageTransformer transformer) | 自定义页面切换效果 | 
| setOnItemClickListener(OnItemClickListener onItemClickListener) | Item点击事件 | 
| setManualPageable(boolean manualPageable) | 是否支持手动切换,默认支持 | 
| 其他 | 阅读源码吧... |