我正在参与「兔了个兔」构思投稿大赛,详情请看:「兔了个兔」构思投稿大赛

前言

本篇是经过图片的点击事情去切换图片,完成图片点击轮播,而新年兔了个兔专题,当然是运用了一系列兔子的图片作为轮播图展示的,下面咱们来看看怎么完成点兔换图的。

正篇

完成办法

其实安卓中完成办法很简单,咱们能够轻松办到,便是ImageView中增加点击事情

class RabbitFirst : AppCompatActivity() {
    private lateinit var binding: ActivityRabbitFirstBinding
    private var id by Delegates.notNull<Int>()
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityRabbitFirstBinding.inflate(layoutInflater)
        setContentView(binding.root)
        id = 0
        binding.img1.setOnClickListener {
            if (id == 0) {
                binding.img1.setImageBitmap(BitmapFactory.decodeResource(resources, R.drawable.rabit_c) )
                id++
                return@setOnClickListener
            }
            if (id == 1) {
                binding.img1.setImageResource(R.drawable.rabit_b)
                id++
                return@setOnClickListener
            }
            if (id == 2) {
                binding.img1.setImageResource(R.drawable.rabit_a)
                id++
                return@setOnClickListener
            }
            if (id == 3) {
                binding.img1.setImageResource(R.drawable.rabit_d)
                id = 0
                return@setOnClickListener
            }
            Log.i("id ===$id", "is id")
        }
    }
}

假如图片多了能够运用数组去存,然后独自写办法去处理,这儿只要四张图,所以我这儿运用if判别,首要仍是没找到有关setImageResource的对应办法,网上好像说没有对应的get办法,能够运用加setTag和getTag办法去完成,和我的判别办法也相似,我的判别办法便是假如有四张图,咱们就给它显现次序,从0-3,开端,id为0-2时点击图片切换下一张,到id=3时再清空id值,置为0,这样又能回到第一张兔子图。

展示作用

终究作用如下,咱们点击图片就能够进行图片轮换:

点兔换图——新年兔了个兔专题

ps:完成的时候出现了不能点击的问题,然后发现原来是在点击事情运用id全局变量增加时正好顺次增加最终仍是回到原图了,所以需要if里加上返回return,不经过下个if查看

总结

尽管形式很简单,但也是安卓的完成办法去做的,其实很多五花八门的作用都是从最简单的开端,然后增加各种新的技术终究才变得愈加风趣美观。