和Swing一样,android定义了很多有用的控件,我们可以使用这些控件快速的开发出我们自己的应用程序。
android的UI界面都是由View和ViewGroup及其派生类组合而成的。其中,View是所有UI组件的基类,而 ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的.
View对象是android平台中用户界面体现的基础单位。
View类是它称为“widgets(工具)”的子类的基础,它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。
ViewGroup类同样为其被称为“Layouts(布局)”的子类奠定了基础,它们提供了象流式布局、表格布局以及相对布局之类的布局架构。
下面我们简单介绍设计界面时最常用的几个输入控件。
一、Buttons
Buttons按钮控件,可以设置普通的文本按钮,还可以图片按钮,当然也可以是图片文本按钮,按钮最重要的功能当然就是接受用户的点击操作。
1、定义普通的文本按钮:
<Button
android:id="@+id/calButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消" />
2、图片按钮定义:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
3、图标文本按钮定义:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_launcher"
android:text="取消" />
4、单击事件
(1)在配置文件中配置onClick属性,指定在Activity中需要实现的方法名称。这样在用户点击按钮是就会执行Activity实现的对应的方法了。
配置文件实现如下:
<Button
android:id="@+id/calButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消"
android:onClick="doSomething"
/>
对应的在Activity实现其对应的方法如下:
//实现对应的onClick的方法。
public void doSomething(View view){
//实现方法。
}
(2)当然我们还可以使用setOnClickListener方法,传入实现了OnClickListener接口的对象,这样是我们之前常见的方式了,代码如下:
registerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//实现方法。
}
});
二、Text Field
标准的输入框,你可以设置单行或多行的,
1、设置hint属性可以用于提示信息,比较适合在移动设配上使用,inputType属性可以控制虚拟键盘的类型。inputType主要主要有以下的几个类型:
(1)"text":普通的文本虚拟键盘。
(2)"textEmailAddress":也是普通的文本键盘,不过会多出一个“@”的虚拟键盘。
(3)"textUri":也是普通的文本键盘,不过会多出一个“/”的虚拟键盘。
(4)"number":基本的数字虚拟键盘。
(5)"phone":电话风格的虚拟键盘。
(6)"textPassword":密码框。
2、定义一个普通的输入框。示例代码:
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="用户名"
android:inputType="text"
>
</EditText>
效果如下:
3、定义一个带有电话号码的输入框。代码如下:
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:ems="10"
android:hint="电话号码"
android:inputType="phone" >
</EditText>
效果如下:
4、自动完成的输入框。效果如下图,默认输入两个字符后才会有提示的,你也可以通过设定android:completionThreshold属性,修改弹出下来列表的最小字符个数。
效果如下图:
(1)在布局文件中定义控件
<AutoCompleteTextView
android:id="@+id/autocomplete_country"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
/>
(2)在values/strings.xml中定义数据源
<string-array name="city_array">
<item>广东省</item>
<item>广西省</item>
<item>山东省</item>
<item>海南省 </item>
</string-array>
(3)在Activity设定设配器
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
// 获得数组
String[] countries = getResources().getStringArray(
R.array.city_array);
// 定义适配器
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.
android.R.layout.simple_list_item_1, countries);
textView.setAdapter(adapter);
三、Checkboxs
也就是复选框,效果如下图:
1、在布局文件中定义控件。实现代码如下:
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="篮球" />
2、一般就是在Activity判断该复选框是否选中。
//判断是否有选中
boolean result=checkBox1.isChecked();
四、Radio Buttons
单选按钮,一般也和单选按钮组一起使用,同一组的单选按钮才会有单选的功效。效果图如下:
在布局中定义一个单选按钮组,然后在定义两个单选按钮,实现代码如下:
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
2、一般就是在Activity判断该复选框是否选中。
Log.e("RadioButton", radioButton1.isChecked() ? "男" : "女");
五、Spinners
相当于swing中的下拉框,当然实现起来稍微复杂一点。效果如下:
1、在布局中定义控件。
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
2、在values/strings.xml中定义数据源
<string-array name="ji_arrray">
<item>籍贯</item>
<item>广东省</item>
<item>广西省</item>
<item>山东省</item>
</string-array>
3、在Activity使用设配器绑定控件和数据源。
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
// 定义设配器
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this.
R.array.ji_arrray, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
六、Pickers
有时间Picker和日期Picker,可以让用户非常方便的选择时间或者日期。效果如下图:
在布局中定义控件。
<DatePicker
android:id="@+id/datePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
更多的介绍,大家可以参考android的开发者文档:
http://developer.android.com/guide/topics/ui/controls/text.html
Java免费学习 Java自学网 http://www.javalearns.com
关注微信号:javalearns ,随时随地学Java
今天看到一个手机也能赚钱的网站,与大家分享(真实可信,已亲身体验):