掷骰子案例(随机生成数)

71 阅读1分钟

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>

image.png

dice.png

image1.png

image2.png

image3.png

image4.png

image5.png

image6.png

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; break;
                    case 2: drawableResource = R.drawable.image2; break;
                    case 3: drawableResource = R.drawable.image3; break;
                    case 4: drawableResource = R.drawable.image4; break;
                    case 5: drawableResource = R.drawable.image5; break;
                    case 6: drawableResource = R.drawable.image6; break;
                    default:
                        throw new IllegalStateException("Unexpected value: " + mTvDiceNumber);
                }


                Drawable drawable;
                drawable=getBaseContext().getResources().getDrawable(drawableResource);


                diceImage.setImageDrawable(drawable);



            }
        });
    }


}

效果图:

image.png