效果
布局
<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"><TextViewandroid:id="@+id/scoreTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="得分:0"android:textSize="18sp" /><GridLayoutandroid:id="@+id/gridLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:columnCount="3"android:rowCount="3"><ImageViewandroid:id="@+id/imageView1"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView3"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView4"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView5"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView6"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView7"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView8"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /><ImageViewandroid:id="@+id/imageView9"android:layout_width="0dp"android:layout_height="0dp"android:layout_columnWeight="1"android:layout_rowWeight="1"android:background="@mipmap/laohu" /></GridLayout></LinearLayout>
实现代码,
public class AttentionQuestionsActivity extends AppCompatActivity {private ImageView[] imageViews; // 地鼠图片数组private ImageView currentImageView; // 当前显示的地鼠图片private int score = 0; // 得分private TextView scoreTextView; // 显示得分的文本视图@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_attention_questions);initImageViews(); // 初始化地鼠图片数组scoreTextView = findViewById(R.id.scoreTextView);showNextImageView(); // 显示第一个地鼠}// 初始化地鼠图片数组private void initImageViews() {imageViews = new ImageView[9];for (int i = 0; i < imageViews.length; i++) {imageViews[i] = findViewById(getResources().getIdentifier("imageView" + (i + 1), "id", getPackageName()));imageViews[i].setVisibility(View.INVISIBLE); // 初始设置地鼠图片为不可见imageViews[i].setOnClickListener(onClickListener);}}// 点击事件监听器private View.OnClickListener onClickListener = new View.OnClickListener() {@Overridepublic void onClick(View v) {if (v == currentImageView) { // 如果点击的是地鼠increaseScore(); // 增加得分hideCurrentImageView(); // 隐藏当前地鼠showNextImageView(); // 显示下一个地鼠}}};// 增加得分private void increaseScore() {score++;scoreTextView.setText("得分:" + score); // 更新得分显示}// 隐藏当前显示的地鼠private void hideCurrentImageView() {if (currentImageView != null) {currentImageView.setVisibility(View.INVISIBLE);currentImageView = null;}}// 显示下一个地鼠private void showNextImageView() {hideCurrentImageView();SecureRandom random = new SecureRandom();int nextIndex;do {nextIndex = random.nextInt(imageViews.length);} while (imageViews[nextIndex].getVisibility() == View.VISIBLE);currentImageView = imageViews[nextIndex];currentImageView.setVisibility(View.VISIBLE);}
}
备注 以上只是简单把功能实现出来,大家有需要可以拿来改为自己想要的