Android - 主要的UI元素。
下面的这张图呈现了Android中最基本的UI构造块。
该图片表示的逻辑结构也是出自《Android系统原理及开发要点详解》一书。
Android中的UI元素常常在布局文件(Layout)中进行描述,在Java源代码中通过findViewById()函数根据ID获得每一个View的句柄,并且转换成实际的类型来使用。
android.view.View的扩展者也称作widget,通常包含在android.Widget包中,也就是在UI元素中使用的UI元素。
这些android.view.View的扩展者,通常可以在应用程序中直接使用,也可以在应用程序中再扩展一次使用。
android.view.View的一个重要的扩展者是android.view.ViewGroup类,这个类表示一个视图的集合,在这个视图的集合可以包含众多的子视图。android.view.ViewGroup类的扩展者即是多个视图的组合,本身也是一个视图。
1、Button类的扩展关系如下所示:
-android.view.View
-android.widget.TextView
-android.widget.Button
Button类扩展了TextView类,TextView类是View的直接扩展者,表示一个文本区域。Android中以文本为主要内容的各种UI元素均扩展自这个类。
Button类具有一个名为CompoundButton(组合按钮)的扩展者,CompoundButton又有了RadioButton CheckBox和ToggleButton(开关按钮,包含开关两种状态)。
2、ImageView类是View的直接扩展者。它又被称为图像视图,是Android中可以直接显示图形的UI元素,其中的图像源是其核心。ImageView有多种不同的设置图像源的方法:
void setImageResource(int resId) //设置图像源的资源ID
void setImageURI(Uri uri) //设置图像源的URI
void setImageBitmap(Bitmap bm) //设置一个Bitmap的位图为图像源。
另外,ImageView还支持缩放、剪裁等功能。
3、ImageButton:图像按钮
很简单就是显示一个带有图像的按钮。
注意:在Android中,图像按钮ImageButton和普通按钮Button并无扩展关系。
4、ViewGroup
ViewGroup1是一个视图组,以水平布局的方式包含了View2和View3;
ViewGroup2是一个视图组,以垂直的方式包含了View4、ViewGroup3和ViewGroup4.
ViewGroup4又以水平布局的方式包含了View5和View6。
根据以上的原则,当屏幕需要包含多个视图时,必须组织在一个视图组中。
由于视图组本身也是一个视图,因此视图组还可以包含视图组。
注意:在这里面有一个主要的限制:在没有视图组的情况下,两个以上的视图(也包括视图组)是不能并列的。
ViewGroup视图组具有一系列的扩展者:AdapterView、 AbsoluteLayout、 FrameLayout、LinearLayout、 RelativeLayout、Adapterview<T extends android.widget.Adapter>。
在Android中,有一些预置的ViewGroup可以直接像View一样使用(如WebView),还有一些ViewGroup本身没有功能,只是提供屏幕上的各种布局(如AbsoluteLayout、RelativeLayout、FrameLayout等)
更多相关文章
- Android 图像绘制之 Drawable
- Android中几种图像特效处理的集锦!
- Android 创建图像倒影
- 2.4.8 滚动视图
- Android中如何实现图像的闪动
- Android Studio 无法预览xml布局视图
- Android 中的图形图像的渲染