android实现点击按钮控制图片切换
作者:Jedi Hongbin 时间:2022-10-16 02:38:55
本文实例为大家分享了android实现点击按钮控制图片切换的具体代码,供大家参考,具体内容如下
代码:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initView()
}
private fun initView() {
val chooseGridFriendBtn: Button = findViewById(R.id.chooseGridFriend)
chooseGridFriendBtn.setOnClickListener { chooseGirlFriend() }
}
// 选女友的方法实现
private fun chooseGirlFriend() {
val chooseGirlfriend = ChooseGirlfriend(5) // 只有5张图
val girlFriend = chooseGirlfriend.renderChoose()
Toast.makeText(this, "" + girlFriend, Toast.LENGTH_SHORT).show()
// 显示对应图片
val girlFriendImageSource = when (girlFriend){
1 -> R.drawable._0
2 -> R.drawable._1
3 -> R.drawable._2
4 -> R.drawable._3
5 -> R.drawable._4
else -> R.drawable.dice
}
// 展示选中图片
val girlFriendImageView: ImageView = findViewById(R.id.imageView)
girlFriendImageView.setImageResource(girlFriendImageSource)
}
}
/*
* 女友选择器
* 随机数选择 默认1-6
* */
class ChooseGirlfriend(private val numDice: Int = 6) {
fun renderChoose(): Int {
return (1..numDice).random()
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="215dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:layout_marginVertical="20dp"
android:contentDescription="@string/dice_image"
app:srcCompat="@drawable/dice" />
<Button
android:id="@+id/chooseGridFriend"
android:layout_width="237dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/choose_a_girlfriend" />
</LinearLayout>
来源:https://blog.csdn.net/printf_hello/article/details/112687324
标签:android,图片切换
0
投稿
猜你喜欢
java中this与super关键字的使用方法
2022-05-04 22:03:29
SpringBoot整合canal实现数据同步的示例代码
2022-05-07 19:51:24
tcp、udp、ip协议分析_动力节点Java学院整理
2023-05-17 18:00:17
Java BigDecimal和double示例及相关问题解析
2023-01-31 10:54:01
android通过servlet上传文件到服务器
2021-10-07 05:44:02
C++实现的O(n)复杂度内查找第K大数算法示例
2023-06-30 15:51:13
Java异常处理之try...catch...finally详解
2023-09-17 05:38:24
C#之IP地址和整数互转的小例子
2023-11-21 05:49:19
C# 开发日志本地化工具
2023-08-27 21:57:05
Java实现简单猜数字小游戏
2023-11-28 08:10:07
Java基于servlet监听器实现在线人数监控功能的方法
2021-08-19 11:38:24
Unity3D实现攻击范围检测
2023-07-02 12:12:39
c# 实现轮询算法实例代码
2023-01-30 03:48:51
spring cloud Ribbon用法及原理解析
2021-11-28 15:27:21
Java代码优化细节
2023-06-26 09:34:34
selenium+java破解极验滑动验证码的示例代码
2022-11-19 21:52:01
Java中初始化List集合的八种方式汇总
2021-09-20 22:31:54
浅析Spring Boot单体应用熔断技术的使用
2022-05-10 02:37:08
MyBatis注解CRUD与执行流程深入探究
2023-07-03 06:19:44
C#实现String类型和json之间的相互转换功能示例
2023-06-18 07:35:32