安卓轮播图开发
首先导入依赖implementation 'com.youth.banner:banner:1.4.10'//轮播图的依赖implementation 'com.github.bumptech.glide:glide:4.7.1'//网络加载图片的依赖创建布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout...
·
首先导入依赖
implementation 'com.youth.banner:banner:1.4.10' //轮播图的依赖
implementation 'com.github.bumptech.glide:glide:4.7.1'//网络加载图片的依赖
创建布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="#f95b5b">
<LinearLayout
android:layout_width="280dp"
android:layout_height="45dp"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp">
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:maxLines="1"/>
</LinearLayout>
<Button
android:layout_width="70dp"
android:layout_height="45dp"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="10dp"
android:background="#fff"
android:text="搜索"/>
</RelativeLayout>
<!-- 轮播部分 -->
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="150dp" />
</LinearLayout>
逻辑实现
private com.youth.banner.Banner banner;
private ArrayList<String> list_path;
private GlideImageLoader glideImageLoader;
//初始化
private void initView(View view) {
glideImageLoader = new GlideImageLoader();
banner = (Banner) view.findViewById(R.id.banner);
banner = view.findViewById(R.id.banner);
list_path.add("http://disk.luocome.cn/2019/10/22/QQ20191022-0.jpg");
list_path.add("http://disk.luocome.cn/2019/10/22/QQ20191022-1.jpg");
//设置banner样式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置图片加载器
banner.setImageLoader(glideImageLoader);
//设置图片集合
banner.setImages(list_path);
//设置轮播时间
banner.setDelayTime(2000);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
代码优化
/**
* 开始轮播
*/
@Override
public void onStart() {
super.onStart();
banner.startAutoPlay();
}
/**
* 结束轮播
*/
@Override
public void onStop() {
super.onStop();
banner.stopAutoPlay();
}
创建网络加载图片的类GlideImageLoader.java
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context.getApplicationContext())
.load((String) path)
.into(imageView);
}
}
效果显示
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)