实现图片轮播效果。
补充错误:
构建的时候一直出现错误,glide4.8.0一直下载不下来,大佬翻墙下载发现也不行,后来改成了阿里云就可以了。
在gradle下的build.gradle文件下进行如下更改:
buildscript {
repositories {
maven{url'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven{url'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
jcenter()
}
}
然后就可以成功构建运行了,而且构建的速度提高了很多,以前构建一个项目要半个小时……真是太惨了。
1.在build.gradle文件中添加依赖(版本号可调,https://github.com/bumptech/glide https://github.com/youth5201314/banner选择最新版本)。
Glide(构建一直出错误……版本下载不下来):
implementation 'com.github.bumptech.glide:glide:4.8.0'
Banner:
implementation 'com.youth.banner:banner:1.4.10'
2.在activity_main.xml 中简单布局
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="80dp"></com.youth.banner.Banner>
3.在AndroidManifest文件中添加权限
<uses-permission android:name="android.permission.INTERNET" /> //添加访问网络权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> //读取SD卡权限
4.新建一个class类来加载图片。(以前不知道新建一个class类怎么搞,新建就是在MainActivity下边新建一个类)
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
with(Context context) - 需要上下文 (上下文的理解https://blog.csdn.net/dufufd/article/details/79512803)
load(String url) - 使用一个字符串形式的网络图片的 URL
into(ImageView imageView) - 你需要显示图片的目标 ImageView
5.配置banner
public class MainActivity extends AppCompatActivity {
private Banner banner;
List<String> images=new ArrayList<>(); //定义图片集合
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
images.add("http://10.38.9.154:8080/atguigu/img/1432113201786.jpg");
images.add("http://10.38.9.154:8080/atguigu/img/1445568698438.jpg");
images.add("http://10.38.9.154:8080/atguigu/img/1439367400560.jpg");
//.add是向集合中添加元素,这里是添加图片的路径。
banner = findViewById(R.id.banner);
banner.setImageLoader(new GlideImageLoader()); //设置图片加载器
banner.setImages(images); //设置banner中显示图片
banner.start(); //设置完毕后调用
}
更多banner下的函数请见https://github.com/youth5201314/banner