示信息。不过我们还需要能获取用户的控制操作。那么我们来看看Android
的输入控件。
Android常用的输入控件有Button,EditText,CheckBox,RadioButton,
ToggleButton,Picker,Spinner。
1)
Button
现在我们先来看看Button。常用Button有3中:
1.当你只需要在按钮上放置文字信息时,可以使用Button。
2.当你只需要在按钮上放置图片时,可以使用ImageButton。
3.当你需要在按钮上同时放置文字和图片时,可以使用Button。
那么我们来看看如何将我们的Button加入我们的应用:
这非常简单,我们只需要在布局文件XML中填入一个Button标签就可以了。
只有文字信息的按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
... />
只含有图片的按钮:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/button_icon"
... />
2)
我们能轻松将我们的按钮加入到我们的应用,那么现在我们如何来响应用户触发
他们的事件呢?
下面有两种方法:
1.使用android:onClick属性
这种方式可以方便地响应按钮的单击事件。
第一步:在XML文件中的Button标签中加入android:onClick属性。
第二步:在加载这个XML文件的Activity中加入一个固定格式的方法:
public void 响应方法名(View view){}
第三步:将响应方法的名字填入android:onClick的值中。
就是这么简单,我们就能够得到用户的点击事件,并作出处理了。
除了使用上面一种方法,我们还能使用监听器。
2.onClicjListener
当我们能够拿到Button的对象时,我们就可以使用这种方式来添加一个监听器
给Button对象。然后我们就能够轻松地得到用户的点击事件了。
第一步,获取Button对象。
第二步,创建View.OnClickListener的对象。
第三步,然后将View.OnClickListener的对象交给Button对象。
如此我们也可以轻松地得到用户的点击事件了。
Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something in response to button click
}
});
按钮样式自定义
哈哈,我们现在可以好好的使用Button了,不过我们看这个Button太丑
了,那么我们能不能自定义一个Button的样式呢?
当然可以,我们需要使用android:backgroud来设置一个新的外观。
不过我们设置新的外观还需要美工的帮助,当然就是获取新的外观图片。
我们可以使用这些新的外观图片制作一个selector。
TIPS:在selector定义中,大家要注意条件越简单的item越要放在下面
EditText
可输入文本框,这个控件可以让用户输入文本信息。
使用下面的标签,我们可以轻易地加入我们的应用中。
<EditText
android:id="@+id/email_address"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
当然这太简单了,我们还有几个重要的属性可以用。
android:hint="@string/email_hint"属性:(提示)
我们可以加入上面这条属性,用于给我们的编辑框加入一个提示信息。
android:inputType="textEmailAddress"
这条属性,可以提供给我们调整软键盘样式的能力。我们可以得到只有
数字或者方便输入邮箱地址的软键盘。
android:imeOptions="actionSend"
软键盘中总是有个确认按钮,这个按钮,并没有默认的响应方法,需要
我们自定义。
android:password="true"
以密文形式输入信息。改回false之后,就有可以以明文形式输入。
我们加入了IMEOptions属性后,我们需要一个监听器来监听这个按钮的响应:
EditText editText = (EditText) findViewById(R.id.search);
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_SEND) {
handled = true;
}
return handled;
}
});
除了上面说的EditText外,我们还有AutoCompleteTextView作为文字
我们一样可以使用标签形式将这种控件加入我们的应用。
CheckBox,多选框。
当然关键也是在于如何监听这个控件。
1.我们可以使用设置onClick的方式加入一个写在Activity中的点击响应
方法。
2.我们可以使用多选框的监听器:OnCheckedChangeListener
自定义样式:
在android:button属性上设置Selector。
信息输入的控件,不过这个和适配器有关,我们后面再说。
RadioButton,单选框。
这个控件不能单独使用,需要与RadioGroup一起使用。
然后给我们的RadioGroup加入一个OnCheckedChangeListener来监
听我们的选择监听。不过这里一定要注意这个监听器和多选框的可不是
一个,注意他们的包名!