我正在参与「兔了个兔」构思投稿大赛,详情请看:「兔了个兔」构思投稿大赛
前言
本篇是经过图片的点击事情去切换图片,完成图片点击轮播,而新年兔了个兔专题,当然是运用了一系列兔子的图片作为轮播图展示的,下面咱们来看看怎么完成点兔换图的。
正篇
完成办法
其实安卓中完成办法很简单,咱们能够轻松办到,便是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查看
总结
尽管形式很简单,但也是安卓的完成办法去做的,其实很多五花八门的作用都是从最简单的开端,然后增加各种新的技术终究才变得愈加风趣美观。