• Android轮播图实现详细过程


    效果如下:

    1:下载依赖(两个)

     

     

     2:在AndroidManifest.xml文件中添加权限代码

    <!-- if you want to load images from the internet -->
        <uses-permission android:name="android.permission.INTERNET" />
        <!-- if you want to load images from a file OR from the internet -->
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    使项目可以访问网上图片

    3:布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="轮播图"
            android:textSize="26dp"/>
        <com.youth.banner.Banner
            android:id="@+id/banner"
            android:layout_width="match_parent"
            android:layout_height="300dp" />
    </LinearLayout>

    4:添加类文件GlideImageLoader,重写图片加载类

    package com.example.doublebutton;
    
    import android.content.Context;
    import android.widget.ImageView;
    
    import com.bumptech.glide.Glide;
    import com.youth.banner.loader.ImageLoader;
    
    public class GlideImageLoader extends ImageLoader {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            //Glide 加载图片简单用法
            Glide
                    .with(context)
                    .load(path)
                    .centerCrop()
                    .into(imageView);
        }
    }

    5:MainActivity文件

    package com.example.doublebutton;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.widget.Toast;
    import com.youth.banner.Banner;
    import com.youth.banner.listener.OnBannerListener;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            List images = new ArrayList();
            images.add("http://kwimg2.kuwo.cn/star/upload/66/85/1575256374021_.jpg");
            images.add("http://kwimg2.kuwo.cn/star/upload/71/68/1575818166158_.jpg");
            images.add("http://kwimg1.kuwo.cn/star/upload/68/54/1575429173078_.jpg");
    
    
            Banner banner = (Banner) findViewById(R.id.banner);
            //设置图片加载器
            banner.setImageLoader(new GlideImageLoader());
            //设置图片集合
            banner.setImages(images);
            //banner设置方法全部调用完毕时最后调用
            banner.start();
    
            //增加点击事件
            banner.setOnBannerListener(new OnBannerListener() {
                @Override
                public void OnBannerClick(int position) {
                    Toast.makeText(MainActivity.this, "position"+position, Toast.LENGTH_SHORT).show();
                }
            });
    
        }
    
    
    }

     

     

  • 相关阅读:
    React路由基本的使用(一)
    Codeforces Round #627 (Div. 3) C
    Codeforces Round #627 (Div. 3) B
    Codeforces Round #627 (Div. 3) A
    hdu2049 不容易系列之(4)——考新郎(组合,错排)
    Codeforces Round #626 (Div. 2) E. Instant Noodles(二分图,最大公因数)
    Codeforces Round #626 (Div. 2) D. Present(位运算)
    逆元的计算方法
    Educational Codeforces Round 83 D. Count the Arrays(组合,逆元,快速幂)
    hdu4460 Friend Chains(记忆化广度优先搜索)
  • 原文地址:https://www.cnblogs.com/cxj1821/p/12017423.html
Copyright © 2020-2023  润新知