randomNum();
imageView0.setOnClickListener(new GuessCardOnclicker());
imageView1.setOnClickListener(new GuessCardOnclicker());
imageView2.setOnClickListener(new GuessCardOnclicker());
imageView3.setOnClickListener(new GuessCardOnclicker());
imageView4.setOnClickListener(new GuessCardOnclicker());
}
class GuessCardOnclicker implements OnClickListener{
/**
- 根据点击事件,得到id,再根据id得到点击 的imageView对象,再判断这个imageVieW的image是不是A
*/
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.card1:
gameResult(R.id.card1);
break;
case R.id.card2:
gameResult(R.id.card2);
break;
case R.id.card3:
gameResult(R.id.card3);
break;
case R.id.card4:
gameResult(R.id.card4);
break;
case R.id.main:
gameResult(R.id.main);
break;
default:
break;
}
}
}
private void gameResult(int cardId) {
//显示图片的所有随机值;
imageView0.setImageDrawable(getResources().getDrawable(image[0]));
imageView1.setImageDrawable(getResources().getDrawable(image[1]));
imageView2.setImageDrawable(getResources().getDrawable(image[2]));
imageView3.setImageDrawable(getResources().getDrawable(image[3]));
imageView4.setImageDrawable(getResources().getDrawable(image[4]));
ImageView imageView;
//得到点击 的imageView、判断是不是猜 对了。
if(((imageView0.getId() == cardId)&&(R.drawable.image1 == image[0]))||
((imageView1.getId() == cardId)&&(R.drawable.image1 == image[1]))||
((imageView2.getId() == cardId)&&(R.drawable.image1 == image[2]))||
((imageView3.getId() == cardId)&&(R.drawable.image1 == image[3]))||
((imageView4.getId() == cardId)&&(R.drawable.image1 == image[4]))){
hintResult(true);
}else{
hintResult(false);
}
}
public void hintResult(boolean result){
if(result){
Toast.makeText(CardsActivity.this, “恭喜你,猜对了!”, 500).show();
}else{
Toast.makeText(CardsActivity.this, “对不起,猜错了!”, 500).show();
}
imageView0.setEnabled(false);
imageView1.setEnabled(false);
imageView2.setEnabled(false);
imageView3.setEnabled(false);
imageView4.setEnabled(false);
}
/**
- 随机生成一个数组对象,存储扑克。代表imageView里的随机图像
*/
private void randomNum(){
for (int i = 0; i < 5; i++)
{
int s=(int)Math.random()*3;
int temp;
temp=image[i];
image[i]=image[s];
image[s]=temp;
}
}
/**
- 点击空白外游戏重新来;由于imageView也设置了点击 事件,当点击 屏幕的时候,imageView优先
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
imageView0.setImageDrawable(getResources().getDrawable(R.drawable.hint));
imageView1.setImageDrawable(getResources().getDrawable(R.drawable.hint));
imageView2.setImageDrawable(getResources().getDrawable(R.drawable.hint));
imageView3.setImageDrawable(getResources().getDrawable(R.drawable.hint));
imageView4.setImageDrawable(getResources().getDrawable(R.drawable.hint));
randomNum();
imageView0.setEnabled(true);
imageView1.setEnabled(true);
imageView2.setEnabled(true);
imageView3.setEnabled(true);
imageView4.setEnabled(true);
return super.onTouchEvent(event);
}
}
layout布局文件:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:orientation=“vertical”
android:layout_width=“fill_parent”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
如何做好面试突击,规划学习方向?
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。
同时我还搜集整理2020年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多。
点击:《Android架构视频+BAT面试专题PDF+学习笔记》即可免费获取~
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多。
[外链图片转存中…(img-LozLFytL-1711380062661)]
点击:《Android架构视频+BAT面试专题PDF+学习笔记》即可免费获取~
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。