下面的这张图呈现了Android中最基本的UI构造块。


Android - 主要的UI元素。_第1张图片


该图片表示的逻辑结构也是出自《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

Android - 主要的UI元素。_第2张图片

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等)



更多相关文章

  1. Android 图像绘制之 Drawable
  2. Android中几种图像特效处理的集锦!
  3. Android 创建图像倒影
  4. 2.4.8 滚动视图
  5. Android中如何实现图像的闪动
  6. Android Studio 无法预览xml布局视图
  7. Android 中的图形图像的渲染

随机推荐

  1. 如何在 iOS、Android、macOS、Windows 之
  2. [置顶] Android系统架构
  3. Android中子线程真的不能更新UI吗?
  4. Android(安卓)Honeycomb板仅有343万?
  5. Android中WebView和JavaScript进行简单通
  6. android 自定义搜索 的简单实现
  7. android第一个应用程序
  8. Android蓝牙开发—经典蓝牙详细开发流程
  9. Android中TextView文本过长滚动显示实现
  10. 总结安卓各大版本(4.0-9.0)的区别、新特