本文实例分析了Android中ImageView用法。分享给大家供大家参考,具体如下:
猜牌游戏大家可能以前都玩过,这里我们用这个小游戏来说明ImageView的用法。
首先,在res/drawable中引入三张牌:分别是梅花7,梅花8,梅花9
然后在res/layout/main.xml中配置一个TextView,三个ImageView以及一个Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/iv07"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/iv08"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/iv09"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
程序如下所示:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class A04Activity extends Activity {
private ImageView iv07,iv08,iv09;
private TextView tv;
private Button b;
private int[] s={
R.drawable.puke07,
R.drawable.puke08,
R.drawable.puke09
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
iv07=(ImageView)findViewById(R.id.iv07);
iv08=(ImageView)findViewById(R.id.iv08);
iv09=(ImageView)findViewById(R.id.iv09);
tv=(TextView)findViewById(R.id.tv);
b=(Button)findViewById(R.id.button);
randon();
//下面以ImageView的OnClickListener()方法对选择的不同牌做不同的反应
iv07.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
iv07.setImageDrawable(getResources().getDrawable(s[0]));
iv08.setImageDrawable(getResources().getDrawable(s[1]));
iv09.setImageDrawable(getResources().getDrawable(s[2]));
iv08.setAlpha(100); //对没有选择的牌做灰暗处理
iv09.setAlpha(100);
if(s[0]==R.drawable.puke08){ //如果选择的牌是梅花8的话就猜对了
tv.setText("恭喜你,猜对了!!!");
}
else{
tv.setText("亲,猜错了,要不要再来一次?");
}
}
});
iv08.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
iv07.setImageDrawable(getResources().getDrawable(s[0]));
iv08.setImageDrawable(getResources().getDrawable(s[1]));
iv09.setImageDrawable(getResources().getDrawable(s[2]));
iv07.setAlpha(100);
iv09.setAlpha(100);
if(s[1]==R.drawable.puke08){
tv.setText("恭喜你,猜对了!!!");
}
else{
tv.setText("亲,猜错了,要不要再来一次?");
}
}
});
iv09.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
iv07.setImageDrawable(getResources().getDrawable(s[0]));
iv08.setImageDrawable(getResources().getDrawable(s[1]));
iv09.setImageDrawable(getResources().getDrawable(s[2]));
iv07.setAlpha(100);
iv08.setAlpha(100);
if(s[2]==R.drawable.puke09){
tv.setText("恭喜你,猜对了!!!");
}
else{
tv.setText("亲,猜错了,要不要再来一次?");
}
}
});
b.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
tv.setText("猜猜梅花8在哪里");
iv07.setImageDrawable(getResources().getDrawable(R.drawable.puke00));
//刚开始的时候显示扑克牌的背面
iv08.setImageDrawable(getResources().getDrawable(R.drawable.puke00));
iv09.setImageDrawable(getResources().getDrawable(R.drawable.puke00));
iv07.setAlpha(255);//
iv08.setAlpha(255);
iv09.setAlpha(255);
randon();
}
});
}
//randon方法是进行随机地洗牌
public void randon(){
for(int i=0;i<s.length;i++){
int tmp=s[i];
int a=(int)(Math.random()*2);
s[i]=s[a];
s[a]=tmp;
}
}
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android基本组件用法总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:Android使用CircleImageView实现圆形头像的方法Android ImageView随手势变化动态缩放图片Android使用控件ImageView加载图片的方法Android 圆角 ImageView类可设置弧度(代码简单)图文讲解Android的ImageView类中的ScaleType属性设置Android实现ImageView图片双击放大及缩小Android手势滑动实现ImageView缩放图片大小Android实现手势控制ImageView图片大小Android ImageView Src 和Background 区别