直接上圖


不知道怎么放動態(tài)圖。
實現(xiàn)步驟
1、導入引入所需要的包
implementation 'com.youth.banner:banner:1.4.10' implementation 'com.github.bumptech.glide:glide:3.7.0'
2、xml布局文件
<com.youth.banner.Banner
android:id="@+id/banner1"
android:layout_width="wrap_content"
android:layout_height="200dp">
3、activity代碼
activity代碼
public class MainActivityextends AppCompatActivityimplements OnBannerListener {
Contextcontext;
? ? Bannerbanner;
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_main);
? ? ? ? context=MainActivity.this;
? ? ? ? setBanner();
? ? }
private void setBanner()
{
banner=findViewById(R.id.banner1);
? ? ? ? List imgs=new ArrayList<>();
? ? ? ? imgs.add(getStringFromDrawableRes(context,R.drawable.p1));
? ? ? ? imgs.add(getStringFromDrawableRes(context,R.drawable.p2));
? ? ? ? imgs.add(getStringFromDrawableRes(context,R.drawable.p3));
? ? ? ? List titles =new ArrayList<>();
? ? ? ? titles.add("教育圖片1");
? ? ? ? titles.add("教育圖片2");
? ? ? ? titles.add("教育圖片3");
? ? ? ? //設置內(nèi)置樣式,共有六種可以點入方法內(nèi)逐一體驗使用。
? ? ? ? banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
? ? ? ? //設置圖片加載器,圖片加載器在下方
? ? ? ? banner.setImageLoader(new MyLoader());
? ? ? ? //設置圖片網(wǎng)址或地址的集合
? ? ? ? banner.setImages(imgs);
? ? ? ? //設置輪播的動畫效果,內(nèi)含多種特效,可點入方法內(nèi)查找后內(nèi)逐一體驗
? ? ? ? banner.setBannerAnimation(Transformer.Default);
? ? ? ? //設置輪播圖的標題集合
? ? ? ? banner.setBannerTitles(titles);
? ? ? ? //設置輪播間隔時間
? ? ? ? banner.setDelayTime(3000);
? ? ? ? //設置是否為自動輪播,默認是“是”。
? ? ? ? banner.isAutoPlay(true);
? ? ? ? //設置指示器的位置,小點點,左中右。
? ? ? ? banner.setIndicatorGravity(BannerConfig.CENTER)
//以上內(nèi)容都可寫成鏈式布局,這是輪播圖的監(jiān)聽。比較重要。方法在下面。
? ? ? ? ? ? ? ? .setOnBannerListener(this)
//必須最后調(diào)用的方法,啟動輪播圖。
? ? ? ? ? ? ? ? .start();
? ? }
@Override
? ? public void OnBannerClick(int position) {
Log.i("tag", "你點了第"+position+"張輪播圖");
? ? }
//自定義的圖片加載器
? ? private class MyLoaderextends ImageLoader {
@Override
? ? ? ? public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load((String) path).into(imageView);
? ? ? ? }
}
public static String getStringFromDrawableRes(Context context, int id) {
Resources resources = context.getResources();
? ? ? ? String path = ContentResolver.SCHEME_ANDROID_RESOURCE +"://"
? ? ? ? ? ? ? ? + resources.getResourcePackageName(id) +"/"
? ? ? ? ? ? ? ? + resources.getResourceTypeName(id) +"/"
? ? ? ? ? ? ? ? + resources.getResourceEntryName(id);
? ? ? ? return path;
? ? }
//當返回到activity,繼續(xù)
@Override
? ? protected void onResume() {
super.onResume();
? ? ? ? banner.start();
? ? }
//activity停止
@Override
? ? protected void onStop() {
super.onStop();
? ? ? ? banner.stopAutoPlay();
? ? }
4、運行即可!
注:
文章參考于
https://blog.csdn.net/qq_36621990/article/details/76020236
見前輩寫我自己不太好理解,也為了加強自己的記憶,我該可以下,記下來了。
小白變成,不喜勿噴,謝謝,如有不足,多多指教。