如图所示,实现一个简单的猜拳游戏。
XML代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="25dp"
>
<TextView
android:id="@+id/firstView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:text="猜拳游戏" />
<ImageView
android:id="@+id/firstRole"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@id/firstView"
android:layout_alignParentLeft="true"
android:scaleType="fitCenter"
android:layout_margin="10dp"
android:src="@drawable/role"/>
<ImageView
android:id="@+id/secondRole"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_below="@id/firstView"
android:layout_alignParentRight="true"
android:scaleType="fitCenter"
android:layout_margin="10dp"
android:src="@drawable/role"/>
<RadioGroup
android:id="@+id/firstGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/firstRole"
android:layout_alignParentLeft="true">
<RadioButton
android:id="@+id/firstShiTou"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="石头"/>
<RadioButton
android:id="@+id/firstJianDao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剪刀"/>
<RadioButton
android:id="@+id/firstBu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="布"/>
</RadioGroup>
<ImageView
android:id="@+id/vsView"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignLeft="@+id/firstView"
android:layout_alignTop="@+id/secondRole"
android:layout_margin="10dp"
android:layout_marginTop="36dp"
android:scaleType="fitCenter"
android:layout_centerHorizontal="true"
android:src="@drawable/vs" />
<RadioGroup
android:id="@+id/secondGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/secondRole"
android:layout_alignParentRight="true">
<RadioButton
android:id="@+id/secondShiTou"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="石头"/>
<RadioButton
android:id="@+id/secondJianDao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剪刀"/>
<RadioButton
android:id="@+id/secondBu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="布"/>
</RadioGroup>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="比赛开始"
android:layout_marginTop="20dp"
android:layout_below="@id/firstGroup"/>
<TextView
android:id="@+id/resultLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button"
android:layout_marginTop="20dp"
android:layout_alignParentLeft="true"
android:text="比赛结果:" />
<TextView
android:id="@+id/resultText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button"
android:layout_toRightOf="@id/resultLabel"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"
android:text="" />
</RelativeLayout>
Java 代码如下:
package com.wyb.caiquan;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button button;
private RadioGroup firstGroup,secondGroup;
private RadioButton firstShiTou,firstJianDao,firstBu;
private RadioButton secondShiTou,secondJianDao,secondBu;
private TextView resultText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firstGroup = (RadioGroup)findViewById(R.id.firstGroup);
secondGroup = (RadioGroup)findViewById(R.id.secondGroup);
resultText = (TextView)findViewById(R.id.resultText);
button = (Button)findViewById(R.id.button);
firstShiTou = (RadioButton)findViewById(R.id.firstShiTou);
firstJianDao = (RadioButton)findViewById(R.id.firstJianDao);
firstBu = (RadioButton)findViewById(R.id.firstBu);
secondShiTou = (RadioButton)findViewById(R.id.secondShiTou);
secondJianDao = (RadioButton)findViewById(R.id.secondJianDao);
secondBu = (RadioButton)findViewById(R.id.secondBu);
ButtonListener buttonListener = new ButtonListener();
button.setOnClickListener(buttonListener);
}
class ButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(((firstShiTou.isChecked()==true)&&(secondShiTou.isChecked()==true))||
((firstJianDao.isChecked()==true)&&(secondJianDao.isChecked()==true))||
((firstBu.isChecked()==true)&&(secondBu.isChecked()==true))){
resultText.setText("打平了!");
}
else if (((firstShiTou.isChecked()==true)&&(secondJianDao.isChecked()==true))||
((firstJianDao.isChecked()==true)&&(secondBu.isChecked()==true))||
((firstBu.isChecked()==true)&&(secondShiTou.isChecked()==true))){
resultText.setText("玩家一赢了,玩家二输了!");
}
else{
resultText.setText("玩家一输了,玩家二赢了!");
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
注意事项:引用图片资源时,图片名字 不能以大写字母开头,否则无法在R.java 生成引用ID.