Android用户界面概览
所有的Android应用程序的用户界面元素都是用View和ViewGroup对象构建的。View就是在手机屏幕上描绘一个可以与用户交互的一个对象。ViewGroup是包含View对象和其他ViewGroup对象的一个容器对象,以便定义所包含的接口的布局。
Android提供的View和ViewGroup的子类的集合,为我们提供了了常用的输入控件(比如按钮和文本字段) 和各种布局模型(比如线性布局和相对布局)
用户界面的布局
每个应用程序的组件的用户界面都是用View和ViewGroup对象的层次结构来定义的,如图1所示。每个ViewGroup是用来组织View对象的一个隐形的一个容器。这些View对象可能是输入控件或者其他窗体小部件。这个层次结构树根据你的需求可简单可复杂(但是简单对性能来说是最好的)
图1. 定义UI布局的view层次结构的插图
声明一个布局(在Activity类种onCreate方法中调用setContentView(R.layout.main))后,你可以在代码中实例化一个View对
象和创建一个树结构,但是最简单和最有效的方法是在一个xml文件中定义布局。这个XML文件提供了一个可读的布局结构,类似于HTML
View所对应的的XML元素的名字各自对应了它所代表的的Android类。所以一个<TextView>元素在UI中创建了一个TextView部件,一个<LinearLayout>元素创建了一个LinearLayout view group
举例说明,一个简单的包含text view和button的垂直布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextViewandroid:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView"/>
<Buttonandroid:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button"/>
</LinearLayout>
当你在你的应用程序中加载一个布局资源时,Android将该布局资源文件的每个节点初始化成运行时的对象 。可以拿到这个对象(findViewById(R.id.tv))来定义附加的行为,查询此对象的状态,或者修改布局。
用户界面的组件
不一定必须通过View和ViewGroup对象来创建UI。Android提供的几个应用程序组件,为我们提供了标准的用户界面布局,我们只需为这个布局定义内容就可以了。这些用户界面组件(比如Action Bar,Dialogs,Status Notifications)都有自己唯一的一组APIs,这些APIs都定义在各自的文档里。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。