Android UI控件


输入控件是应用程序用户界面中的交互式组件。Android提供了可在UI中使用的各种控件,例如按钮,文本字段,搜索栏,复选框,缩放按钮,切换按钮等等。

UI控件

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 EditTex

EditText是TextView的预定义子类,包含丰富的编辑功能。

3 AutoCompleteTextView

AutoCompleteTextView是一个类似于EditText的视图,只是它在用户键入时自动显示完成建议列表。

4 Button

用户可以按下或单击按钮以执行操作的按钮。

5 ImageButton

ImageButton是一个AbsoluteLayout,它允许您指定其子项的确切位置。这显示了一个按钮,其中包含可由用户按下或单击的图像(而不是文本)。

6 CheckBox

可由用户切换的开/关开关。在向用户显示一组不相互排斥的可选选项时,应使用复选框。

7 ToggleButton

带有指示灯的开/关按钮。

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>

然后最后创建一个Control对象的实例并从布局中捕获它,使用以下 -

TextView myText = (TextView) findViewById(R.id.text_id);