Android studio骰子案例 怎么替换一张图片 前一张图片恢复原来图片
时间: 2024-10-22 22:24:24 浏览: 37
在Android Studio中创建一个模拟掷骰子并替换图片的例子,通常会涉及到图像切换和状态管理。你可以通过以下步骤完成:
1. **创建资源**:
- 在res/drawable文件夹下,准备两张图片,比如"die_normal.png"表示未掷的状态,"die_rolled.png"表示已掷的状态。
2. **设置UI**: 在布局XML文件中,创建一个ImageView控件用于显示骰子。例如:
```xml
<ImageView
android:id="@+id/dice_view"
android:src="@drawable/die_normal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"/>
```
3. **Java或Kotlin代码**:
a. 获取ImageView引用:
```java
ImageView diceView = findViewById(R.id.dice_view);
```
b. 定义掷骰子方法,随机选择图片,并更新ImageView:
```java
public void rollDice() {
Random random = new Random();
int result = random.nextInt(6) + 1; // 生成1到6的随机数
switch (result) {
case 1:
case 2:
diceView.setImageResource(R.drawable.die_1_or_2);
break;
case 3:
case 4:
diceView.setImageResource(R.drawable.die_3_or_4);
break;
case 5:
case 6:
diceView.setImageResource(R.drawable.die_5_or_6);
break;
default: // 如果有异常结果,恢复原图
diceView.setImageResource(R.drawable.die_normal);
}
}
```
4. **触发事件**: 当用户点击DiceView时,调用`rollDice()`方法。
5. **恢复原始图片**:
在上述代码的`default`分支中,当结果不在预期范围内(如异常值),会自动将图片恢复到初始状态(dice_view.setImageResource(R.drawable.die_normal);)。
如果你想要每次点击后都恢复原图,可以移除`switch`结构,直接在方法最后恢复默认图片。
阅读全文