XBanner支持圖片無限輪播控件

//在build.gradle文件中加入依賴
compile 'com.xhb:xbanner:1.2.2'
compile 'com.nineoldandroids:library:2.4.0'
//要導入一些圖片加載框架的依賴,如Glide
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'jp.wasabeef:glide-transformations:1.0.6'

//網絡權限
<uses-permission android:name="android.permission.INTERNET" />
//佈局
<com.stx.xhb.xbanner.XBanner
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="200.0dip"
    app:AutoPlayTime="3000"
    app:pointNormal="@drawable/shape_pointer_normal"
    app:pointSelect="@drawable/shape_pointer_selected"
    app:pointsContainerBackground="#44AAAAAA"
    app:pointsPosition="CENTER"
    app:tipTextColor="#FFFFFFFF"
    app:tipTextSize="16.0sp" />

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#ff0000"></solid>
    <size
        android:width="10dp"
        android:height="10dp"></size>
代碼:
public class MainActivity extends AppCompatActivity {
    private XBanner banner;
    private List<String> images = new ArrayList<>();
    //private List<String> titles;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        banner = (XBanner) findViewById(R.id.banner);

        // 初始化XBanner中展示的數據
        images.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1490970534523&di=7d5c932f60190913244c3d1032881d13&imgtype=0&src=http%3A%2F%2Fimg2.niutuku.com%2Fdesk%2F130220%2F23%2F23-niutuku.com-246.jpg");
        images.add("http://imageprocess.yitos.net/images/public/20160910/99381473502384338.jpg");
        images.add("http://imageprocess.yitos.net/images/public/20160910/77991473496077677.jpg");
        images.add("http://imageprocess.yitos.net/images/public/20160906/1291473163104906.jpg");
      


        // 爲XBanner綁定數據
   //     banner.setData(images, titles);
        banner.setData(images,null);
        // XBanner適配數據
        banner.setmAdapter(new XBanner.XBannerAdapter() {
            @Override
            public void loadBanner(XBanner banner, View view, int position) {
                Glide.with(MainActivity.this).load(images.get(position)).into((ImageView) view);
            }
        });

        // 設置XBanner的頁面切換特效
        banner.setPageTransformer(Transformer.Default);
        // 設置XBanner頁面切換的時間,即動畫時長
        banner.setPageChangeDuration(1000);

        // XBanner中某一項的點擊事件
        banner.setOnItemClickListener(new XBanner.OnItemClickListener() {
            @Override
            public void onItemClick(XBanner banner, int position) {
                Toast.makeText(MainActivity.this, "點擊了第" + (position + 1) + "張圖片", Toast.LENGTH_SHORT).show();
            }
        });

    }
    @Override
    protected void onResume() {
        super.onResume();
        banner.startAutoPlay();
    }

    @Override
    protected void onStop() {
        super.onStop();
        banner.stopAutoPlay();
    }
}

參考博客:http://www.cnblogs.com/itgungnir/p/6210891.html    Banner控件的部分屬性如下表示:
屬性名屬性說明屬性值
isAutoPlay是否支持自動輪播boolean類型,默認爲true
autoPlayTime圖片輪播事件間隔int類型,默認5000ms
pointNormal指示器未選中時的狀態drawable類型,不指定的話使用默認狀態點
pointSelect指示器選中時的狀態drawable類型,不指定的話使用默認狀態點
pointsVisible是否顯示指示器boolean類型,默認爲true
pointsPosition指示點位置CENTER、LEFT、RIGHT,默認CENTER
pointsContainerBackground指示器條背景color類型、drawable類型、mipmap類型等
pointContainerPosition指示器條位置TOP、BOTTOM,默認BOTTOM
pointContainerLeftRightPadding指示點容器左右內間距dimension類型,默認10.0dip
pointTopBottomPadding指示點上下內間距dimension類型,默認6.0dip
pointLeftRightPadding指示點左右內間距dimension類型,默認3.0dip
tipTextColor提示文字的顏色reference類型
tipTextSize提示文字的大小dimension類型,默認10.0dp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章