AI 144567: am: CL 144565 Improve the JetBoy samples

- use theme instead of window feature to remove titlebar
  - remove useless Layouts
  - Make custom view works in layout editor.
  - remove some warnings
  Original author: xav
  Merged from: //branches/cupcake/...

Automated import of CL 144567
This commit is contained in:
Xavier Ducrohet
2009-04-03 17:49:02 -07:00
committed by The Android Open Source Project
parent 46132107e6
commit 382b479bbd
4 changed files with 94 additions and 161 deletions

View File

@@ -17,22 +17,21 @@
<!-- This file describes the code in the JetBoy package, which is
used by the system to determine how to start the application and
integrate it with the rest of the system. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.jetboy"
android:versionCode="1"
package="com.example.android.jetboy" android:versionCode="1"
android:versionName="1.0.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<activity android:name=".JetBoy"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="3"></uses-sdk>
<uses-sdk android:minSdkVersion="3"></uses-sdk>
</manifest>

View File

@@ -3,91 +3,29 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.example.android.jetboy.JetBoyView
android:id="@+id/JetBoyView"
<com.example.android.jetboy.JetBoyView android:id="@+id/JetBoyView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
android:layout_height="fill_parent" />
<LinearLayout
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_gravity="top" android:gravity="center_horizontal"
android:orientation="horizontal">
<TextView android:id="@+id/text" android:text="@string/helpText"
style="@style/helpText" android:visibility="invisible"
android:layout_width="300px" android:layout_height="300px"
android:background="#7Fffffff" android:layout_gravity="center" />
<TextView
android:id="@+id/text"
android:text="@string/helpText"
style="@style/helpText"
android:visibility="invisible"
android:layout_width="300px"
android:layout_height="300px"
android:layout_centerInParent="true"
android:gravity="left"
android:background="#88ffffff"
/>
<Button android:id="@+id/Button01" android:text="@string/start"
style="@style/ButtonText" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:gravity="center_horizontal"
android:orientation="horizontal">
<Button android:id="@+id/Button01"
android:text="@string/start"
style="@style/ButtonText"
<Button android:id="@+id/Button02" android:text="@string/retry"
style="@style/ButtonText" android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:cursorVisible="true">
</Button>
android:layout_gravity="center_horizontal|bottom" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:gravity="center_horizontal"
android:orientation="horizontal">
<Button android:id="@+id/Button02"
android:text="@string/retry"
style="@style/ButtonText"
android:visibility="invisible"
<TextView android:id="@+id/timer" android:text="@string/timer"
style="@style/timerText" android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:cursorVisible="true">
</Button>
<!--Button android:id="@+id/Button03"
android:text="@string/restart"
style="@style/ButtonText"
android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:cursorVisible="true">
</Button-->
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_gravity="top" android:gravity="right"
android:orientation="horizontal">
<TextView
android:id="@+id/timer"
android:text="@string/timer"
style="@style/timerText"
android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:background="#000000"
android:textSize="24sp"/>
</LinearLayout>
android:layout_gravity="top|right" android:background="#000000" />
</FrameLayout>

View File

@@ -25,7 +25,6 @@ import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
@@ -55,12 +54,8 @@ public class JetBoy extends Activity implements View.OnClickListener {
* @param savedInstanceState - The previous instance of this app
*/
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// turn off the window's title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
// get handles to the JetView from XML and the JET thread.
@@ -91,9 +86,8 @@ public class JetBoy extends Activity implements View.OnClickListener {
* @param v The object which has been clicked
*/
public void onClick(View v) {
// this is the first screen
if (mJetBoyThread.getGameState() == mJetBoyThread.STATE_START) {
if (mJetBoyThread.getGameState() == JetBoyThread.STATE_START) {
mButton.setText("PLAY!");
mTextView.setVisibility(View.VISIBLE);
@@ -102,7 +96,7 @@ public class JetBoy extends Activity implements View.OnClickListener {
}
// we have entered game play, now we about to start running
else if (mJetBoyThread.getGameState() == mJetBoyThread.STATE_PLAY) {
else if (mJetBoyThread.getGameState() == JetBoyThread.STATE_PLAY) {
mButton.setVisibility(View.INVISIBLE);
mTextView.setVisibility(View.INVISIBLE);
mTimerView.setVisibility(View.VISIBLE);

View File

@@ -174,7 +174,6 @@ public class JetBoyView extends SurfaceView implements SurfaceHolder.Callback {
// in this game 80 is used for sending asteroid
// 82 is used as game time for 1/4 note beat.
private final String mSendEvent = "80";
private final String mTimerEvent = "82";
// used to track beat for synch of mute/unmute actions
@@ -1360,6 +1359,8 @@ public class JetBoyView extends SurfaceView implements SurfaceHolder.Callback {
holder.addCallback(this);
// create thread only; it's started in surfaceCreated()
// except if used in the layout editor.
if (isInEditMode() == false) {
thread = new JetBoyThread(holder, context, new Handler() {
public void handleMessage(Message m) {
@@ -1392,6 +1393,7 @@ public class JetBoyView extends SurfaceView implements SurfaceHolder.Callback {
}
}//end handle msg
});
}
setFocusable(true); // make sure we get key events