首先导入依赖
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);
    }
}
效果显示

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐