java在单击时替换图像
我正在Android Studio上创建一个纸牌游戏,我一直在玩纸牌。我生成牌,发牌,但不知道如何玩。我正在考虑使用onclick侦听器。我希望能够点击我想要的卡片,它会移动到屏幕上的另一个位置。我可以将其移动到特定位置或另一个图像的顶部
代码如下:
package com.techietoystore.newsnakes;
import 安卓x.appcompat.app.AppCompatActivity;
import 安卓.content.DialogInterface;
import 安卓.media.Image;
import 安卓.os.Bundle;
import 安卓.view.MotionEvent;
import 安卓.view.View;
import 安卓.widget.Button;
import 安卓.widget.ImageButton;
import 安卓.widget.ImageView;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MainActivity extends AppCompatActivity {
ImageView iv_1, iv_2, iv_3, iv_4, iv_5, iv_6, iv_7, iv_8;
private Button button;
private iv_1 imageView1;
ArrayList<Integer> cards;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_1 = (ImageView) findViewById(R.id.imageView1);
iv_2 = (ImageView) findViewById(R.id.imageView2);
iv_3 = (ImageView) findViewById(R.id.imageView3);
iv_4 = (ImageView) findViewById(R.id.imageView4);
iv_5 = (ImageView) findViewById(R.id.imageView5);
iv_6 = (ImageView) findViewById(R.id.imageView6);
iv_7 = (ImageView) findViewById(R.id.imageView7);
iv_8 = (ImageView) findViewById(R.id.imageView8);
iv_1.setVisibility(View.INVISIBLE);
iv_2.setVisibility(View.INVISIBLE);
iv_3.setVisibility(View.INVISIBLE);
iv_4.setVisibility(View.INVISIBLE);
iv_5.setVisibility(View.INVISIBLE);
iv_6.setVisibility(View.INVISIBLE);
iv_7.setVisibility(View.INVISIBLE);
iv_8.setVisibility(View.INVISIBLE);
cards = new ArrayList<>();
cards.add(109);
cards.add(110);
cards.add(111);
cards.add(112);
cards.add(113);
cards.add(114);
cards.add(115);
cards.add(116);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Collections.shuffle(cards);
//sort hands
List<Integer> player1Cards = new ArrayList<>();
for (int i = 0; i < 4; i++) {
player1Cards.add(cards.get(i));
Collections.sort(player1Cards);
}
List<Integer> player2Cards = new ArrayList<>();
for (int i = 4; i < 8; i++) {
player2Cards.add(cards.get(i));
Collections.sort(player2Cards);
}
//deal
assignImages(player1Cards.get(0), iv_1);
assignImages(player1Cards.get(1), iv_2);
assignImages(player1Cards.get(2), iv_3);
assignImages(player1Cards.get(3), iv_4);
assignImages(player2Cards.get(0), iv_5);
assignImages(player2Cards.get(1), iv_6);
assignImages(player2Cards.get(2), iv_7);
assignImages(player2Cards.get(3), iv_8);
iv_1.setVisibility(View.VISIBLE);
iv_2.setVisibility(View.VISIBLE);
iv_3.setVisibility(View.VISIBLE);
iv_4.setVisibility(View.VISIBLE);
iv_5.setVisibility(View.VISIBLE);
iv_6.setVisibility(View.VISIBLE);
iv_7.setVisibility(View.VISIBLE);
iv_8.setVisibility(View.VISIBLE);
}
public void assignImages(int card, ImageView image) {
switch (card) {
case 109:
image.setImageResource(R.drawable.r13);
break;
case 110:
image.setImageResource(R.drawable.r14);
break;
case 111:
image.setImageResource(R.drawable.r15);
break;
case 112:
image.setImageResource(R.drawable.y11);
break;
case 113:
image.setImageResource(R.drawable.y12);
break;
case 114:
image.setImageResource(R.drawable.y13);
break;
case 115:
image.setImageResource(R.drawable.y14);
break;
case 116:
image.setImageResource(R.drawable.y15);
break;
}
}
});
//playing card
iv_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final ImageView imageView = (ImageView) findViewById(R.id.imageView1);
iv_1.setVisibility(View.INVISIBLE);
}
});
}
private class iv_1 {
}
}
共 (0) 个答案