Android开发从入门到精通(8) _6

qjbagu 2012-04-24

CheckBox 第八章(6)

在本节中,将为CheckBox View创建一个活动。创建活动的步骤和前面的章节一致。因此,将会为你提供三个主要活动文件——AndroidManifest.xml, checkbox.xml, 和 testCheckBox.java。这些文件在下面的部分提供。

AndroidManifest.xml

这个部分包含当前AndroidView的完整代码。如果你使用Eclipse,修改你活动的AndroidManifest.xml 文件,来使得它和下面一样:

<?xml version="1.0" encoding="utf-8"?> 

<manifestxmlns:android=http://schemas.android.com/apk/res/android

package="android_programmers_guide.AndroidViews">

<applicationandroid:icon="@drawable/icon">

<activityandroid:name=".AndroidViews"

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<activityandroid:name=".AutoComplete"android:label="AutoComplete">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<activityandroid:name=".testButton"android:label="TestButton">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<activityandroid:name=".testCheckBox"android:label="TestCheckBox">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

</application>

</manifest>

checkbox.xml

这个部分显示了完整的checkbox.xml代码。使用在本章早些时候提到的方法,在项目中创建一个新的XML文件,把它命名为checkbox.xml。使用下面的代码修改你的文件。

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayoutxmlns:android=http://schemas.android.com/apk/res/android

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<CheckBoxandroid:id="@+id/testCheckBox"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="ThisisthetestCheckBox"/>

<Buttonandroid:id="@+id/layoutButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="ChangeLayout"/>

<Buttonandroid:id="@+id/textColorButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="ChangeTextColor"/>

</LinearLayout>

testCheckBox.java 本部分涵盖了执行Checkbox活动所需的最后新文件。在项目中创建一个新的.java文件,并把它命名为testCheckBox.java。这个是活动的主文件并且包含可执行代码。在testCheckBox.java文件中使用下列代码:

package android_programmers_guide.AndroidViews; 

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.CheckBox;

importandroid.widget.Button;

importandroid.graphics.Color;

publicclasstestCheckBoxextendsActivity{

180Android:AProgrammer’sGuide

@Override

publicvoidonCreate(Bundleicicle){

super.onCreate(icicle);

setContentView(R.layout.checkbox);

finalCheckBoxcheckbox=(CheckBox)findViewById(R.id.testCheckBox);

finalButtonchangeButton=(Button)findViewById(R.id.layoutButton);

changeButton.setOnClickListener(newButton.OnClickListener(){

publicvoidonClick(Viewv){

changeOption(checkbox);}

});

finalButtonchangeButton2=(Button)

findViewById(R.id.textColorButton);

changeButton2.setOnClickListener(newButton.OnClickListener(){

publicvoidonClick(Viewv){

changeOption2(checkbox);

}

});

}

publicvoidchangeOption(CheckBoxcheckbox){

if(checkbox.getHeight()==100){

checkbox.setHeight(30);

}

else{

checkbox.setHeight(100);

}

}

publicvoidchangeOption2(CheckBoxcheckbox){

checkbox.setTextColor(Color.RED);

}

}

AndroidViews.java 创建这个活动的最后一步就是编辑AndroidViews.java文件。如果你要从AndroidViews主活动中呼叫testCheckBox活动,你必须增加代码到AndroidViews.java中。用下面的代码和你现存在AndroidViews.java中的代码作个比较。

package android_programmers_guide.AndroidViews; 

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.Menu;

importandroid.content.Intent;

Chapter8:Lists,Menus,andOtherViews181

publicclassAndroidViewsextendsActivity{

/**CalledwhentheActivityisfirstcreated.*/

@Override

publicvoidonCreate(Bundleicicle){

super.onCreate(icicle);

setContentView(R.layout.main);

}

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

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");

returntrue;

}

@Override

publicbooleanonOptionsItemSelected(Menu.Itemitem){

switch(item.getId()){

case0:

showAutoComplete();

returntrue;

case1:

showButton();

returntrue;

case2:

showCheckBox()

returntrue;

case3:

returntrue;

case4:

returntrue;

case5:

returntrue;

}

returntrue;

}

publicvoidshowButton(){

IntentshowButton=newIntent(this,testButton.class);

startActivity(showButton);

}

publicvoidshowAutoComplete(){

Intentautocomplete=newIntent(this,AutoComplete.class);

startActivity(autocomplete);

}

publicvoidshowCheckBox(){

Intentcheckbox=newIntent(this,testCheckBox.class);

startActivity(checkbox);

}

启动应用程序并从菜单中选择CheckBox选项。点击Change Layout和Change Text Color按钮。

更多信息请查看 http://www.javady.com/index.php/category/thread

相关推荐