Android(安卓)UI 控件
用户界面元素
视图是在屏幕上绘制用户可以交互的对象,ViewGroup
是保存其他视图(和 ViewGroup)对象的对象,以便定义用户界面的布局。
您在一个 XML 文件中定义布局,该文件为布局提供了一个人类可读的结构,类似于 HTML。例如,带有文本视图和按钮的简单垂直布局如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button" />
</LinearLayout>
Android UI 控件
Android 提供了许多 UI 控件,让您可以为应用程序构建图形用户界面。
编号 | UI 控件 & 描述 |
---|---|
1 | TextView 此控件用于向用户显示文本。 |
2 | EditText EditText 是 TextView 的预定义子类,包含丰富的编辑功能。 |
3 | AutoCompleteTextView AutoCompleteTextView 是一个类似于 EditText 的视图,只是它在用户输入时自动显示 完成建议列表。 |
4 | Button 用户可以按下或单击以执行操作的按钮。 |
5 | ImageButton mageButton 是一种 AbsoluteLayout,它让您可以指定其子项的确切位置这显示了一个带有图像(而不是文本)的按钮,用户可以按下或单击该按钮。 |
6 | CheckBox 用户可以切换的 on/off 的开关向用户显示一组互不排斥的可选选项时,应使用复选框。 |
7 | ToggleButton 带有指示的 on/off 的开关按钮。 |
8 | RadioButton RadioButton 有两种状态:选中或未选中。 |
9 | RadioGroup RadioGroup 用于将一个或多个 RadioButton 组合在一起。 |
10 | ProgressBar ProgressBar 视图提供有关某些正在进行的任务的可视化反馈,例如当您在后台执行任务时。 |
11 | Spinner 让用户从集合中选择一个值的下拉列表。 |
12 | TimePicker TimePicker 视图让用户可以在 24 小时模式或 AM/PM 模式下选择一天中的时间。 |
13 | DatePicker DatePicker 视图让用户可以选择一天的日期。 |
创建 UI 控件
输入控件是应用程序用户界面中的交互组件。Android 提供了各种各样的控件,您可以在 UI 中使用,例如按钮、文本字段、搜索栏、复选框、缩放按钮、切换按钮等等。
如前一章所述,视图对象可能分配了一个唯一的 ID,它将在树中唯一标识视图。XML 标记内 ID 的语法为:
android:id="@+id/text_id"
要创建 UI 控件/视图/窗口小部件,您必须在布局文件中定义视图/窗口小部件,并按如下方式为其分配唯一 ID:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView" />
</LinearLayout>
最后使用以下命令创建控件对象的实例并从布局中捕获它:
TextView myText = (TextView) findViewById(R.id.text_id);