Android开发从入门到精通(8) _6
?
CheckBox?第八章(6)
在本节中,将为CheckBox?View创建一个活动。创建活动的步骤和前面的章节一致。因此,将会为你提供三个主要活动文件——AndroidManifest.xml,?
checkbox.xml,?和?testCheckBox.java。这些文件在下面的部分提供。
AndroidManifest.xml
这个部分包含当前AndroidView的完整代码。如果你使用Eclipse,修改你活动的AndroidManifest.xml?文件,来使得它和下面一样:
<?xml?version="1.0"?encoding="utf-8"?>? <manifest?xmlns:android=http://schemas.android.com/apk/res/android? package="android_programmers_guide.AndroidViews">? <application?android:icon="@drawable/icon">? <activity?android:name=".AndroidViews"? android:label="@string/app_name">? <intent-filter>? <action?android:name="android.intent.action.MAIN"?/>? <category?android:name="android.intent.category.LAUNCHER"?/>? </intent-filter>? </activity>? <activity?android:name=".AutoComplete"?android:label="AutoComplete">? <intent-filter>? <action?android:name="android.intent.action.MAIN"?/>? <category?android:name="android.intent.category.LAUNCHER"?/>? </intent-filter>? </activity>? <activity?android:name=".testButton"?android:label="TestButton">? <intent-filter>? <action?android:name="android.intent.action.MAIN"?/>? <category?android:name="android.intent.category.LAUNCHER"/>? </intent-filter>? </activity>? <activity?android:name=".testCheckBox"?android:label="TestCheckBox">? <intent-filter>? <action?android:name="android.intent.action.MAIN"?/>? <category?android:name="android.intent.category.LAUNCHER"/>? </intent-filter>? </activity>? </application>? </manifest> |
checkbox.xml
这个部分显示了完整的checkbox.xml代码。使用在本章早些时候提到的方法,在项目中创建一个新的XML文件,把它命名为checkbox.xml。使用下面的代码修改你的文件。
<?xml?version="1.0"?encoding="utf-8"?>? <LinearLayout?xmlns:android=http://schemas.android.com/apk/res/android? android:orientation="vertical"? android:layout_width="fill_parent"? android:layout_height="fill_parent"? >? <CheckBox?android:id="@+id/testCheckBox"? android:layout_width="fill_parent"? android:layout_height="wrap_content"? android:text="This?is?the?test?CheckBox"/>? <Button?android:id="@+id/layoutButton"? android:layout_width="fill_parent"? android:layout_height="wrap_content"? android:text="Change?Layout"/>? <Button?android:id="@+id/textColorButton"? android:layout_width="fill_parent"? android:layout_height="wrap_content"? android:text="Change?Text?Color"/>? </LinearLayout> |
testCheckBox.java?
本部分涵盖了执行Checkbox活动所需的最后新文件。在项目中创建一个新的.java文件,并把它命名为testCheckBox.java。这个是活动的主文件并且包含可执行代码。在testCheckBox.java文件中使用下列代码:
package?android_programmers_guide.AndroidViews;? import?android.app.Activity;? import?android.os.Bundle;? import?android.view.View;? import?android.widget.CheckBox;? import?android.widget.Button;? import?android.graphics.Color;? public?class?testCheckBox?extends?Activity?{? 180?Android:?A?Programmer’s?Guide? @Override? public?void?onCreate(Bundle?icicle)?{? super.onCreate(icicle);? setContentView(R.layout.checkbox);? final?CheckBox?checkbox?=?(CheckBox)findViewById(R.id.testCheckBox);? final?Button?changeButton?=?(Button)findViewById(R.id.layoutButton);? changeButton.setOnClickListener(new?Button.OnClickListener()?{? public?void?onClick(View?v){? changeOption(checkbox);?}? });? final?Button?changeButton2?=?(Button)? findViewById(R.id.textColorButton);? changeButton2.setOnClickListener(new?Button.OnClickListener()?{? public?void?onClick(View?v){? changeOption2(checkbox);? }? });? }? public?void?changeOption(CheckBox?checkbox){? if?(checkbox.getHeight()==100){? checkbox.setHeight(30);? }? else{? checkbox.setHeight(100);? }? }? public?void?changeOption2(CheckBox?checkbox){? checkbox.setTextColor(Color.RED);? }? } |
AndroidViews.java?
创建这个活动的最后一步就是编辑AndroidViews.java文件。如果你要从AndroidViews主活动中呼叫testCheckBox活动,你必须增加代码到AndroidViews.java中。用下面的代码和你现存在AndroidViews.java中的代码作个比较。
package?android_programmers_guide.AndroidViews;? import?android.app.Activity;? import?android.os.Bundle;? import?android.view.Menu;? import?android.content.Intent;? Chapter?8:?Lists,?Menus,?and?Other?Views?181? public?class?AndroidViews?extends?Activity?{? /**?Called?when?the?Activity?is?first?created.?*/? @Override? public?void?onCreate(Bundle?icicle)?{? super.onCreate(icicle);? setContentView(R.layout.main);? }? @Override? public?boolean?onCreateOptionsMenu(Menu?menu)?{? super.onCreateOptionsMenu(menu);? menu.add(0,?0,?"AutoComplete");? menu.add(0,?1,?"Button");? menu.add(0,?2,?"CheckBox");? menu.add(0,?3,?"EditText");? menu.add(0,?4,?"RadioGroup");? menu.add(0,?5,?"Spinner");? return?true;? }? @Override? public?boolean?onOptionsItemSelected(Menu.Item?item){? switch?(item.getId())?{? case?0:? showAutoComplete();? return?true;? case?1:? showButton();? return?true;? case?2:? showCheckBox()? return?true;? case?3:? return?true;? case?4:? return?true;? case?5:? return?true;? }? return?true;? }? public?void?showButton()?{? Intent?showButton?=?new?Intent(this,?testButton.class);? startActivity(showButton);? }? public?void?showAutoComplete(){? Intent?autocomplete?=?new?Intent(this,?AutoComplete.class);? startActivity(autocomplete);? }? public?void?showCheckBox()?{? Intent?checkbox?=?new?Intent(this,?testCheckBox.class);? startActivity(checkbox);? }? }? |
启动应用程序并从菜单中选择CheckBox选项。点击Change?Layout和Change?Text?Color按钮。
更多信息请查看?http://www.javady.com/index.php/category/thread