圖片輪播banner實現

步驟:

1、初始化數據,得到圖片地址和標題(標題也可以不要)

2、設置banner屬性

3、佈局添加banner控件

4、代碼實現

    1):添加依賴

      compile 'com.youth.banner:banner:1.4.9'

   2)添加權限

    <uses-permission android:name="android.permission.INTERNET" />

   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

  3)佈局文件:

    <com.youth.banner.Banner

      android:id="@+id/banner"

      android:layout_width="match_parent"

      android:layout_height="150dp" />

  4)代碼:

     

public class Test extends AppCompatActivity implements OnBannerListener {
    private Banner mBanner;
    private ArrayList<String> imagePathList;
    private ArrayList<String> titleList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initData();
        initView();
    }

    /**
     * 初始化banner,設置屬性 
     */
    private void initView() {
        mBanner = (Banner) findViewById(R.id.banner);
        //設置內置樣式,共有六種可以點入方法內逐一體驗使用。  
        mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
        //設置圖片加載器,圖片加載器在下方  
        mBanner.setImageLoader(new MyImageLoader());
        //設置圖片網址或地址的集合  
        mBanner.setImages(imagePathList);
        //設置輪播的動畫效果,內含多種特效,可點入方法內查找後內逐一體驗  
        mBanner.setBannerAnimation(Transformer.Default);
        //設置輪播圖的標題集合  
        mBanner.setBannerTitles(titleList);
        //設置輪播間隔時間  
        mBanner.setDelayTime(3000);
        //設置是否爲自動輪播,默認是        mBanner.isAutoPlay(true);
        //設置指示器的位置,小點點,左中右。  
        mBanner.setIndicatorGravity(BannerConfig.CENTER)
                //以上內容都可寫成鏈式佈局,這是輪播圖的監聽。比較重要。方法在下面。  
                .setOnBannerListener(this)
                //必須最後調用的方法,啓動輪播圖。  
                .start();
    }
    private void initData() {
        imagePathList = new ArrayList<>();
        titleList = new ArrayList<>();
        imagePathList.add(""); //第一張圖片
        imagePathList.add(""); //第二張圖片地址
        imagePathList.add(""); 
        imagePathList.add("");
        titleList.add("1");
        titleList.add("2");
        titleList.add("3");
        titleList.add("4");
    }
    @Override
    public void OnBannerClick(int position) {
        Toast.makeText(this, "click:" + position, Toast.LENGTH_SHORT).show();
    }

    //自定義的圖片加載器  
    private class MyImageLoader extends ImageLoader {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            Glide.with(context).load((String) path).into(imageView);
        }
    }
}  

     




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