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:
committed by
The Android Open Source Project
parent
46132107e6
commit
382b479bbd
@@ -1,38 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2009 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!-- 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. -->
|
||||
|
||||
|
||||
|
||||
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"
|
||||
android:versionName="1.0.0">
|
||||
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
||||
<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" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
<uses-sdk android:minSdkVersion="3"></uses-sdk>
|
||||
</manifest>
|
||||
package="com.example.android.jetboy" android:versionCode="1"
|
||||
android:versionName="1.0.0">
|
||||
<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" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
<uses-sdk android:minSdkVersion="3"></uses-sdk>
|
||||
</manifest>
|
||||
|
||||
@@ -1,93 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent">
|
||||
|
||||
<com.example.android.jetboy.JetBoyView
|
||||
android:id="@+id/JetBoyView"
|
||||
android:layout_width="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:layout_centerInParent="true"
|
||||
android:gravity="left"
|
||||
android:background="#88ffffff"
|
||||
/>
|
||||
|
||||
</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"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="true"
|
||||
android:cursorVisible="true">
|
||||
</Button>
|
||||
|
||||
|
||||
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent">
|
||||
|
||||
</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"
|
||||
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>
|
||||
<com.example.android.jetboy.JetBoyView android:id="@+id/JetBoyView"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent" />
|
||||
|
||||
<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" />
|
||||
|
||||
<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" />
|
||||
|
||||
<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:layout_gravity="center_horizontal|bottom" />
|
||||
|
||||
<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:layout_gravity="top|right" android:background="#000000" />
|
||||
</FrameLayout>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,38 +1359,41 @@ public class JetBoyView extends SurfaceView implements SurfaceHolder.Callback {
|
||||
holder.addCallback(this);
|
||||
|
||||
// create thread only; it's started in surfaceCreated()
|
||||
thread = new JetBoyThread(holder, context, new Handler() {
|
||||
|
||||
public void handleMessage(Message m) {
|
||||
|
||||
mTimerView.setText(m.getData().getString("text"));
|
||||
|
||||
//ok so maybe it isn't really a "lose"
|
||||
//this bit was borrowed from lunar lander and then evolved.
|
||||
//too close to deadline to mess with now.
|
||||
if (m.getData().getString("STATE_LOSE") != null) {
|
||||
//mButtonRestart.setVisibility(View.VISIBLE);
|
||||
mButtonRetry.setVisibility(View.VISIBLE);
|
||||
|
||||
mTimerView.setVisibility(View.INVISIBLE);
|
||||
|
||||
mTextView.setVisibility(View.VISIBLE);
|
||||
|
||||
Log.d(TAG, "the total was " + mHitTotal);
|
||||
|
||||
if (mHitTotal >= mSuccessThreshold) {
|
||||
mTextView.setText(R.string.winText);
|
||||
} else {
|
||||
mTextView.setText("Sorry, You Lose! You got " + mHitTotal
|
||||
+ ". You need 50 to win.");
|
||||
// except if used in the layout editor.
|
||||
if (isInEditMode() == false) {
|
||||
thread = new JetBoyThread(holder, context, new Handler() {
|
||||
|
||||
public void handleMessage(Message m) {
|
||||
|
||||
mTimerView.setText(m.getData().getString("text"));
|
||||
|
||||
//ok so maybe it isn't really a "lose"
|
||||
//this bit was borrowed from lunar lander and then evolved.
|
||||
//too close to deadline to mess with now.
|
||||
if (m.getData().getString("STATE_LOSE") != null) {
|
||||
//mButtonRestart.setVisibility(View.VISIBLE);
|
||||
mButtonRetry.setVisibility(View.VISIBLE);
|
||||
|
||||
mTimerView.setVisibility(View.INVISIBLE);
|
||||
|
||||
mTextView.setVisibility(View.VISIBLE);
|
||||
|
||||
Log.d(TAG, "the total was " + mHitTotal);
|
||||
|
||||
if (mHitTotal >= mSuccessThreshold) {
|
||||
mTextView.setText(R.string.winText);
|
||||
} else {
|
||||
mTextView.setText("Sorry, You Lose! You got " + mHitTotal
|
||||
+ ". You need 50 to win.");
|
||||
}
|
||||
|
||||
mTimerView.setText("1:12");
|
||||
mTextView.setHeight(20);
|
||||
|
||||
}
|
||||
|
||||
mTimerView.setText("1:12");
|
||||
mTextView.setHeight(20);
|
||||
|
||||
}
|
||||
}//end handle msg
|
||||
});
|
||||
}//end handle msg
|
||||
});
|
||||
}
|
||||
|
||||
setFocusable(true); // make sure we get key events
|
||||
|
||||
|
||||
Reference in New Issue
Block a user