Banner轮播图(kotlin)

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”

下载地址为:

https://download.csdn.net/download/wy313622821/12308485

发布了26 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wy313622821/article/details/105345489
今日推荐