制作了一只小游戏,模仿的是google play store里的einstein challenge

游戏就是先出现几个随机数字,然后一定时间会消失,要记住然后按大小点出来就算一关结束,考验记忆力的游戏。

apk地址

主要学习的知识。

1.横屏竖屏

2.半透明窗口

  1. <style name="Transparent"> 
  2.         <item name="android:windowBackground">@color/transparent_background</item> 
  3.         <item name="android:windowNoTitle">true</item> 
  4.         <item name="android:windowIsTranslucent">true</item> 
  5.         <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item> 
  6.     </style> 
     

  1. <color name="transparent_background">#60ffffff</color>  

颜色前面2位60表示透明度后面表示颜色

  1. <activity 
  2.            android:name=".GameOverActivity" 
  3.            android:theme="@style/Transparent" > 
  4.        </activity> 

应用于对应的Activity就可以了。

3.在xml中绑定控件的onClick事件

xml中指定方法名

  1. android:onClick="click2exit" 

对应的Activity中写上方法,参数一定要有,不然找不到

  1. public void click2exit(View v) { 
  2.         //提示销毁此Activity 
  3.         finish(); 
  4.     } 

4.gif动画

5.ViewTreeObserver类使用

6.自定义控件布局

自定义的控件需要是view的子类

java代码中,我继承了TextView

  1. package dq.enjoy.other; 
  2.  
  3. import android.content.Context; 
  4. import android.util.AttributeSet; 
  5. import android.widget.TextView; 
  6.  
  7. /* 
  8.  * 自定义的每个游戏单元控件 
  9.  */ 
  10. public class GameUnitView extends TextView { 

在xml中这样定义

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <dq.enjoy.other.GameUnitView xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:id="@+id/unitView" 
  4.     android:layout_width="20dp" 
  5.     android:layout_height="20dp" 
  6.     android:background="@raw/unit_background1" 
  7.     android:gravity="center" 
  8.     android:textColor="#ffffff" 
  9.     android:textSize="25sp" 
  10.     android:textStyle="bold" > 
  11. </dq.enjoy.other.GameUnitView> 

7.动态添加移除控件

  1. // 存放游戏单元的容器 
  2. private RelativeLayout container; 
  3. //布局参数 
  4. private RelativeLayout.LayoutParams lp; 
  5.  
  6. container.removeAllViews();//移除所有控件 
  7. container.removeView(view);//移除指定控件 
  8. container.addView(view, lp);//添加指定控件 

8.Intent的flags(缺)

9.控件隐藏显示

  1. bNext.setVisibility(View.INVISIBLE); 
  2. //View.INVISIBLE 隐藏占用空间 
  3. //View.GONE 隐藏不占用空间 
  4. //View.VISIBLE 显示 

10.activity的onWindowFocusChanged,onTouchEvent,onKeyUp等事件(缺)

11.android项目打包签名