Banner轮播图
简介:(不多做介绍,直接上代码)
代码
1、依赖包添加
implementation 'com.youth.banner:banner:1.4.10'
implementation 'com.github.bumptech.glide:glide:3.7.0'
2、网络权限
<uses-permission android:name="android.permission.INTERNET" />
3、xml布局
<!--indicator调节圆点-->
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp"
app:image_scale_type="center_inside"
app:indicator_height="8dp"
app:indicator_margin="5dp"
app:indicator_width="8dp" />
4、activity代码
package com.lihua.eifles.banner
import android.content.Context
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.youth.banner.BannerConfig
import com.youth.banner.Transformer
import com.youth.banner.loader.ImageLoader
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val arrayImageUrl = arrayListOf<String>("http://image.biaobaiju.com/uploads/20181025/19/1540467434-IhiJNbyXak.jpg",
"http://gss0.baidu.com/-fo3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/060828381f30e924ce9f0a854e086e061d95f74f.jpg",
"http://5b0988e595225.cdn.sohucs.com/q_70,c_zoom,w_640/images/20200105/c5162a9d6f484ce3b8ff464b27f8865f.jpeg")
val arrayTitle = arrayListOf<String>("第一张", "第二张", "第三张")
//设置内置样式,共有六种可以点入方法内逐一体验使用。
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE)
//设置图片加载器,图片加载器在下方
banner.setImageLoader(MyLoader())
//设置图片网址或地址的集合
banner.setImages(arrayImageUrl)
//设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验
banner.setBannerAnimation(Transformer.Default)
//设置轮播图的标题集合
banner.setBannerTitles(arrayTitle)
//设置轮播间隔时间
banner.setDelayTime(3000)
//设置是否为自动轮播,默认是“是”。
banner.isAutoPlay(true)
//设置指示器的位置,小点点,左中右。
banner.setIndicatorGravity(BannerConfig.CENTER)
//以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。
banner.setOnBannerListener {
Log.d("=*=", "第几张" + it.dec())
}
//必须最后调用的方法,启动轮播图。
banner.start()
}
private fun initBanner() {
}
//自定义的图片加载器
private inner class MyLoader : ImageLoader() {
override fun displayImage(context: Context, path: Any, imageView: ImageView) {
Glide.with(context).load(path as String).into(imageView)
}
}
}
5、http
android:usesCleartextTraffic=“true”
下载地址为: