Android (安卓) UI 控件
-
Android UI 控件
输入控件是应用程序用户界面中的交互式组件。Android提供了可在您的UI中使用的各种控件,例如按钮,文本字段,搜索栏,复选框,缩放按钮,切换按钮等等。View是一个对象,它在屏幕上绘制一些用户可以交互的东西,ViewGroup是一个对象,它保存其他View(和ViewGroup)对象,以定义用户界面的布局。在XML文件中定义布局,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控件,可让您为应用程序构建图形用户界面。控件 说明 TextView 此控件用于向用户显示文本。 EditText EditText是TextView的预定义子类,其中包含丰富的编辑功能。 AutoCompleteTextView AutoCompleteTextView是一个类似于EditText的视图,只是它在用户键入时自动显示完成建议列表。 Button 用户可以按下或单击以执行操作的按钮。 ImageButton ImageButton是一个AbsoluteLayout,可让您指定其子级的确切位置。这显示了带有图像(而不是文本)的按钮,用户可以按下或单击该按钮。 CheckBox 用户可以切换的开/关开关。为用户提供一组互不排斥的可选选项时,应使用复选框。 ToggleButton 带指示灯的开/关按钮。 RadioButton RadioButton有两种状态:选中或未选中。 RadioGroup RadioGroup用于将一个或多个RadioButton组合在一起。 ProgressBar ProgressBar视图提供有关某些正在进行的任务的视觉反馈,例如在后台执行任务时。 Spinner 允许用户从一组中选择一个值的下拉列表。 TimePicker 通过TimePicker视图,用户可以选择24小时模式或AM/PM模式中的一天中的某个时间。 DatePicker DatePicker视图使用户可以选择一天中的日期。 -
创建UI控件
输入控件是应用程序用户界面中的交互式组件。Android提供了可在您的UI中使用的各种控件,例如按钮,文本字段,搜索栏,复选框,缩放按钮,切换按钮等等。如上一章所述,视图对象可能具有分配给它的唯一ID,该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);