下面的这张图呈现了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 View视图绘制
  2. Android中几种图像特效处理的集锦!!!
  3. Android 图像存储在SD卡ContentResolver
  4. Android Studio 之一个项目的不同视图结构
  5. YUV420图像旋转90算法的优化
  6. android之CalendarView日历视图
  7. Android 内容提供器---创建内容提供器(元素)

随机推荐

  1. Android(安卓)AIDE入门——Hello,world,
  2. Android(安卓)for opencv(1)android使用ope
  3. Android命令Monkey压力测试,详解
  4. Android(安卓)面试题总结之Android(安卓)
  5. 让Python程序在Android手机上跑起来
  6. 《Android深入透析》之Android事件分发机
  7. Android(安卓)应用程序之道
  8. 【Android(安卓)开发】: Android(安卓)消
  9. Android的init过程(二):初始化语言(init.rc)解
  10. android游戏开发(三)触屏事件处理_手势识