Android开发从入门到精通(8) _7
?
EditText?第八章(7)
在本节中,和上一节很类似,你为EditText?View创建一个活动。创建活动的步骤和前几节是一样的。因此,你将被提供三个主要活动文件的代码。—AndroidManifest.xml,?edittext.xml,?和?testEditText.java。这些在下面提供给你。
AndroidManifest.xml?
本部分包含当前AndroidView的AndroidManifest.xml完整代码。如果你使用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>?
<activity?android:name=".testEditText"?android:label="TestEditText">?
<intent-filter>?
<action?android:name="android.intent.action.MAIN"?/>?
<category?android:name="android.intent.category.LAUNCHER"/>?
</intent-filter>?
</activity>?
</application>?
</manifest>?
edittext.xml?
这个部分展示了edittext.xml文件的完整代码。使用本章前面的指示,在项目中创建一个名为edittext.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"?
>?
<EditText?android:id="@+id/testEditText"?
android:layout_width="fill_parent"?
android:layout_height="wrap_content"?
/>?
<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>?
testEditText.java?
本节包含了执行EditText活动需要的最后一个文件。在项目中创建一个名为testEditText.java的文件。这是个活动的主要文件并且包含了可执行代码。在testEditText.java文件中使用下面的代码来完成这个活动。
package?android_programmers_guide.AndroidViews;?
import?android.app.Activity;?
import?android.os.Bundle;?
import?android.view.View;?
import?android.widget.EditText;?
import?android.widget.Button;?
import?android.graphics.Color;?
public?class?testEditText?extends?Activity?{?
@Override?
public?void?onCreate(Bundle?icicle)?{?
super.onCreate(icicle);?
setContentView(R.layout.edittext);?
final?EditText?edittext?=?(EditText)findViewById(R.id.testEditText);?
final?Button?changeButton?=?(Button)findViewById(R.id.layoutButton);?
changeButton.setOnClickListener(new?Button.OnClickListener()?{?
public?void?onClick(View?v){?
changeOption(edittext);?}?
});?
final?Button?changeButton2?=?(Button)?
findViewById(R.id.textColorButton);?
changeButton2.setOnClickListener(new?Button.OnClickListener()?{?
public?void?onClick(View?v){?
changeOption2(edittext);?
}?
});?
}?
public?void?changeOption(EditText?edittext){?
if?(edittext.getHeight()==100){?
edittext.setHeight(30);?
}?
else{?
edittext.setHeight(100);?
}?
}?
public?void?changeOption2(EditText?edittext){?
edittext.setTextColor(Color.RED);?
}?
}?
AndroidViews.java?
创建这个活动的最后一步是编辑AndroidView.java。如果你要从主要AndroidView活动中呼叫testEditText活动,你必须增加代码到AndroidView.java中。与你当前AndroidViews.java文件中的代码与下面进行比较。增加需求的代码来完成文件。
package?android_programmers_guide.AndroidViews;?
import?android.app.Activity;?
import?android.os.Bundle;?
import?android.view.Menu;?
import?android.content.Intent;?
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:?
showEditText();?
return?true;?
case?4:?
showRadioGroup();?
return?true;?
case?5:?
showSpinner();?
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);?
Chapter?8:?Lists,?Menus,?and?Other?Views?187?
startActivity(autocomplete);?
}?
public?void?showCheckBox(){?
Intent?checkbox?=?new?Intent(this,?testCheckBox.class);?
startActivity(checkbox);?
}?
public?void?showEditText()?{?
Intent?edittext?=?new?Intent(this,?testEditText.class);?
startActivity(edittext);?
}?
}?
启动应用程序并从菜单中选择EditText选项。点击Changae?Layout和Change?Test?Color按钮。
更多信息请查看?http://www.javady.com/index.php/category/thread