imageView2=(ImageView)findViewById(R.id.card3);
imageView3=(ImageView)findViewById(R.id.card4);
imageView4=(ImageView)findViewById(R.id.main);
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”
android:layout_height=“fill_parent”
<TextView
android:id=“@+id/game_name”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:textSize=“25dp”
android:layout_centerHorizontal=“true”
android:textColor=“#ED207A”
android:text=“@string/hello”
/>
<TextView
android:id=“@+id/tv_hint”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:textSize=“15dp”
android:layout_below=“@id/game_name”
android:textColor=“#FFFFFF”
android:text=“@string/guess”/>
<ImageView
android:id=“@+id/card1”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_below=“@id/tv_hint”
android:layout_marginTop=“5dp”
android:layout_centerHorizontal=“true”
android:src=“@drawable/hint”/>
<ImageView
android:id=“@+id/card2”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_below=“@id/card1”
android:layout_marginTop=“10dp”
android:layout_alignParentLeft=“true”
android:layout_marginLeft=“5dp”
android:src=“@drawable/hint”/>
<ImageView
android:id=“@+id/main”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_below=“@id/card1”
android:layout_marginTop=“10dp”
android:layout_centerHorizontal=“true”
先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以扫码领取!!!!
尾声
评论里面有些同学有疑问关于如何学习material design控件,我的建议是去GitHub搜,有很多同行给的例子,这些栗子足够入门。
有朋友说要是动真格的话,需要NDK以及JVM等的知识,首现**NDK并不是神秘的东西,**你跟着官方的步骤走一遍就知道什么回事了,无非就是一些代码格式以及原生/JAVA内存交互,进阶一点的有原生/JAVA线程交互,线程交互确实有点蛋疼,但平常避免用就好了,再说对于初学者来说关心NDK干嘛,据鄙人以前的经历,只在音视频通信和一个嵌入式信号处理(离线)的两个项目中用过,嵌入式信号处理是JAVA->NDK->.SO->MATLAB这样调用的我原来MATLAB的代码,其他的大多就用在游戏上了吧,一般的互联网公司会有人给你公司的SO包的。
至于JVM,该掌握的那部分,相信我,你会掌握的,不该你掌握的,有那些专门研究JVM的人来做,不如省省心有空看看计算机系统,编译原理。
一句话,平常多写多练,这是最基本的程序员的素质,尽量挤时间,读理论基础书籍,JVM不是未来30年唯一的虚拟机,JAVA也不一定再风靡未来30年工业界,其他的系统和语言也会雨后春笋冒出来,但你理论扎实会让你很快理解学会一个语言或者框架,你平常写的多会让你很快熟练的将新学的东西应用到实际中。
初学者,一句话,多练。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可免费领取!
公司会有人给你公司的SO包的。**
至于JVM,该掌握的那部分,相信我,你会掌握的,不该你掌握的,有那些专门研究JVM的人来做,不如省省心有空看看计算机系统,编译原理。
一句话,平常多写多练,这是最基本的程序员的素质,尽量挤时间,读理论基础书籍,JVM不是未来30年唯一的虚拟机,JAVA也不一定再风靡未来30年工业界,其他的系统和语言也会雨后春笋冒出来,但你理论扎实会让你很快理解学会一个语言或者框架,你平常写的多会让你很快熟练的将新学的东西应用到实际中。
初学者,一句话,多练。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可免费领取!