xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/dice_image"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_gravity="center_horizontal"
android:layout_above="@id/tv_info"
android:layout_centerHorizontal="true"
android:src="@drawable/dice"
/>
<TextView
android:id="@+id/tv_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="number"
android:gravity="center"
android:layout_above="@id/btn_one"
android:layout_centerHorizontal="true"
android:textColor="@color/black"
android:textSize="24sp" />
<Button
android:id="@+id/btn_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:onClick="BtnClick"
android:text="掷骰子"
android:textSize="24sp" />
</RelativeLayout>








JAVA:
package com.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import java.util.Random
public class MainActivity extends AppCompatActivity {
private Button mBtnDice
private TextView mTvDiceNumber
private ImageView diceImage
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.button)
mBtnDice=findViewById(R.id.btn_one)
mTvDiceNumber=findViewById(R.id.tv_info)
mBtnDice.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Random random=new Random()
int diceNumber=random.nextInt(6)+1
mTvDiceNumber.setText(String.valueOf(diceNumber))
diceImage = findViewById(R.id.dice_image)
int drawableResource
switch (diceNumber){
case 1: drawableResource = R.drawable.image1
case 2: drawableResource = R.drawable.image2
case 3: drawableResource = R.drawable.image3
case 4: drawableResource = R.drawable.image4
case 5: drawableResource = R.drawable.image5
case 6: drawableResource = R.drawable.image6
default:
throw new IllegalStateException("Unexpected value: " + mTvDiceNumber)
}
Drawable drawable
drawable=getBaseContext().getResources().getDrawable(drawableResource)
diceImage.setImageDrawable(drawable)
}
})
}
}
效果图:
