安卓Banner
导入第三方包
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.youth.banner:banner:1.4.9'
布局
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp">
</com.youth.banner.Banner>
使用
package com.example.banner;
public class MainActivity extends AppCompatActivity implements OnBannerListener {
private Banner banner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
banner = findViewById(R.id.banner);//一定要布局文件之后获取ID
List<Integer> imageList = new ArrayList<>();
int[] imageIDs = new int[]{R.drawable.gao, R.drawable.yun, R.drawable.img1};
List<String> nameList = new ArrayList<>();
String[] names = new String[]{"1", "2", "3", "4"};
imageList.add(imageIDs[0]);
imageList.add(imageIDs[1]);
imageList.add(imageIDs[2]);
nameList.add(names[0]);
nameList.add(names[1]);
nameList.add(names[2]);
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
//圆点指示器(标题inside)
banner.setBannerTitles(nameList);
banner.setImages(imageList);
banner.setImageLoader(new MyLoader());
//设置图片加载器
banner.setBannerAnimation(Transformer.FlipHorizontal);
//动画
banner.setOnBannerListener(this);
//点击图片事件
banner.setDelayTime(1000);
banner.isAutoPlay(true);
banner.setIndicatorGravity(BannerConfig.CENTER);
banner.start();
}
@Override
public void OnBannerClick(int position) {
Toast.makeText(MainActivity.this, position + 1 + "", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart() {
super.onStart();
banner.startAutoPlay();
}
@Override
protected void onStop() {
super.onStop();
banner.stopAutoPlay();
}
private class MyLoader extends ImageLoader {//inner Class
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(MainActivity.this).load(path).into(imageView);
}
}
}
来源:https://blog.csdn.net/weixin_44359349/article/details/102754793