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

根据提供的引用内容,没有直接涉及到Android Studio轮播图Kotlin的内容。不过,我们可以通过以下步骤实现在Android Studio中使用Kotlin实现轮播图: 1.在项目的build.gradle文件中添加以下依赖项: ```gradle implementation 'com.github.bumptech.glide:glide:4.12.0' implementation 'com.github.smarteist:autoimageslider:1.4.0' ``` 2.在布局文件中添加AutoImageSlider: ```xml <com.smarteist.autoimageslider.SliderView android:id="@+id/imageSlider" android:layout_width="match_parent" android:layout_height="200dp" app:sliderAnimationDuration="600" app:sliderAutoCycleDirection="back_and_forth" app:sliderAutoCycleEnabled="true" app:sliderCircularHandlerEnabled="true" app:sliderIndicatorAnimationDuration="600" app:sliderIndicatorGravity="center_horizontal|bottom" app:sliderIndicatorMargin="10dp" app:sliderIndicatorOrientation="horizontal" app:sliderIndicatorPadding="3dp" app:sliderIndicatorRadius="3dp" app:sliderIndicatorSelectedColor="#5A5A5A" app:sliderIndicatorUnselectedColor="#FFF" app:sliderScrollTimeInSec="1" app:sliderStartAutoCycle="true" /> ``` 3.在Kotlin代码中,为AutoImageSlider设置Adapter: ```kotlin val imageSlider = findViewById<SliderView>(R.id.imageSlider) val sliderAdapter = SliderAdapter(this) imageSlider.setSliderAdapter(sliderAdapter) ``` 4.创建SliderAdapter类,并在其中实现轮播图的逻辑: ```kotlin class SliderAdapter(private val context: Context) : SliderViewAdapter<SliderAdapter.SliderAdapterVH>() { private val images = arrayOf( "https://www.example.com/image1.jpg", "https://www.example.com/image2.jpg", "https://www.example.com/image3.jpg" ) override fun onCreateViewHolder(parent: ViewGroup?): SliderAdapterVH { val inflate = LayoutInflater.from(parent?.context).inflate(R.layout.slider_item, null) return SliderAdapterVH(inflate) } override fun onBindViewHolder(viewHolder: SliderAdapterVH?, position: Int) { Glide.with(viewHolder!!.itemView) .load(images[position]) .into(viewHolder.imageViewBackground) } override fun getCount(): Int { return images.size } inner class SliderAdapterVH(itemView: View) : ViewHolder(itemView) { var imageViewBackground: ImageView = itemView.findViewById(R.id.iv_auto_image_slider) } } ``` 以上就是使用Kotlin在Android Studio中实现轮播图的步骤。如果您需要更多细节或代码示例,请参考以下链接: https://github.com/smarteist/Android-Image-Slider
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wy313622821

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值