Android绝大部分UI组件都放在android.widget,android.view包及其子包,android应用中所以UI组件都继承了View类,View代表一个空白的矩形区域;

android所有UI组件都建立在View和ViewGroup基础之上的;View类是所有UI组件的基类,ViewGroup是一个抽象类,通常使用其子类来作为容器;

View 类

View类为所有可视化控件的基类,主要提供了控件和事件处理的方法,比如TextView,Button,CheckBox等;

View类常见属性及对应方法说明:

Android:background

SetBackgroundResource(int)

设置背景

Android:clickable

SetClickable(boolean)

设置View是否响应单击事件

Android:visibility

SetVisibiltiy(int)

控制View的可见性

Android:focusable

SetFocusable(boolean)

控制View是否可以获取焦点

Android:id

SetId(int)

为View设置标识符,可以通过findViewById方法获取Id

Android:longClickable

SetLongClickable(boolean)

设置View是否响应长单击事件

Android:soundEffectEabled

setSoundEffectsEnable(boolean)

设置View触发单击等事件是否播放音效

Android:saveEnable

SetSaveEnabled(boolean)

View冻结时是否保存状态

Android:nextFocusDown

SetNextFocusDownId(int)

定义向下获取焦点的View

Android:nextFocusLeft

Android:nextFocusRight

Android:nextFocusUp

定义不同操作方向获取焦点的View

任何继承View的子类都拥有如上的属性及方法;

ViewGroup类是View类的子类,但是可以充当其他控件的容器,ViewGroup的子控件既可以是普通的View,也可以是ViewGroup;

关于View和ViewGroup的关系

View是基类,ViewGroup是View的子类;

View代表用户界面组件一块可以绘制的空间块;

每一个View在屏幕上占据一个长方形区域,在这个区域,view负责图像绘制和事件处理;

View类是小控件widgets和ViewGroup的父类;ViewGroup又是Layout的基类;

线性布局

提供控件水平或竖直排列的模型;

Android:orientation

SetOrientation(int)设置线性布局的朝向;

Android:gravity

SetGrabity(int)设置线性布局内部元素的布局方式;

表格布局

TableLayout类以行和类的形式管理控件,每行为一个TableRow对象,也可以为View对象,当为View对象时,该View对象将跨越该行的所有类;

在表格布局中,一个列的宽度由该列中最宽的那个单元指定,而表格的宽度由父容器指定;

在TableLayout中,可以为列设置如下3种属性;

Shrinkable 如果一个列被标志为Shrinkable,则该列的宽度可以进行收缩,以使表格能够适应其父容器的大小;

Stretchable 如果一个列被标志位Stretchable,则该列的宽度可以进行拉伸,以 填满表格中空闲的空间。

Collapsed,则该列会被隐藏;

TableLyout继承LinearLayout类,TableLyout类特有的属性和方法如下:

SetColumnCollapsed(int,boolean)

列号从0开始,设定指定列号的列为Collapsed

同样,可以设置Shrinkable,Stretchable;

RelativeLayout

在相对布局中,子控件的位置是相对兄弟控件或父容器而决定的;

属 性 名 称

属 性 说 明

android:layout_centerHorizontal

当前控件位于父控件的横向中间位置

android:layout_centerVertical

当前控件位于父控件的纵向中间位置

android:layout_centerInParent

当前控件位于父控件的中央位置

android:layout_alignParentBottom

当前控件底端与父控件底端对齐

android:layout_alignParentLeft

当前控件左侧与父控件左侧对齐

android:layout_alignParentRight

当前控件右侧与父控件右侧对齐

android:layout_alignParentTop

当前控件顶端与父控件顶端对齐

android:layout_alignWithParentIfMissing

参照控件不存在或不可见时参照父控件

接下来再来看属性值为其他控件id的属性,如表3-6所示。

表3-6  相对布局中取值为其他控件id的属性及说明

属 性 名 称

属 性 说 明

android:layout_toRightOf

使当前控件位于给出id控件的右侧

android:layout_toLeftOf

使当前控件位于给出id控件的左侧

android:layout_above

使当前控件位于给出id控件的上方

android:layout_below

使当前控件位于给出id控件的下方

android:layout_alignTop

使当前控件的上边界与给出id控件的上边界对齐

android:layout_alignBottom

使当前控件的下边界与给出id控件的下边界对齐

android:layout_alignLeft

使当前控件的左边界与给出id控件的左边界对齐

android:layout_alignRight

使当前控件的右边界与给出id控件的右边界对齐

最后要介绍的是属性值以像素为单位的属性及说明,如表3-7所示。

表3-7  相对布局中取值为像素的属性及说明

属 性 名 称

属 性 说 明

android:layout_marginLeft

当前控件左侧的留白

android:layout_marginRight

当前控件右侧的留白

android:layout_marginTop

当前控件上方的留白

android:layout_marginBottom

当前控件下方的留白

FrameLayout类

帧布局

FrameLayout帧布局在屏幕上开辟了一块区域,在这块区域中可以添加多个子控件,但是所有的子控件都被对齐到屏幕的左上角,帧布局的大小由子控件中尺寸最大的那个子控件来决定,如果子控件一样大,同一时刻只能看到最上面的子控件;

FrameLayout继承自ViewGroup,FrameLayout所特有的属性和方法如下:

Android:foreground

SetForeground(Drawable)

设置绘制所有子控件之上的内容

Android:foregroundGravity

SetForegroundGraviety(int)

设置绘制所有子控件之上内容的gravity属性

在FrameLayout中,子控件是通过栈来绘制的,所以后添加的子控件会被绘制在上层;

AbsoluteLayout类

所谓绝对布局,是指屏幕中所有控件摆放的控件位置由坐标来指定;

转载于:https://www.cnblogs.com/thoughtInShare/p/4264459.html

03 Android应用界面编程相关推荐

  1. Android无界面编程之使用Service

    在上节中我记录了Service的生命周期,现在就来熟悉一下如何来使用Service和Service有哪些特别需要注意的知识点. 基本流程: 一.建立Service,通过编写子类继承Service或In ...

  2. android开发重要控件,Android界面编程——Android基本控件

    Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员 ...

  3. android应用的界面编程----View与ViewGroup的概念

    1 UI OverView Android中所有的UI元素都是通过View与ViewGroup来构建的,View是指屏幕中一块可与用户进行交互的空白,类似于java界面编程中的JPanel.为了界面布 ...

  4. Android界面编程之简单的图片浏览器

    Android界面编程之简单的图片浏览器 在进行android编程之前,我们首先要明确一下几点: 1.安卓开发中各种资源所在的位置以及自己编写时应该放到的位置: android项目中所有的资源都放到r ...

  5. Android界面编程之利用单选框和复选框实现对学历和爱好进行选择

    Android界面编程之利用单选框和复选框实现对学历和爱好进行选择 首先我们要了解一下单选框和复选框: , 单选框(Radio Button):当用户选择某单选按钮时,同一组中的其他单选按钮不能同时选 ...

  6. Android应用的界面编程

    Android应用的界面编程 一.实验目的 了解界面编程和视图 掌握Android界面的几种布局方式 掌握常用的集中UI组件 二.实验内容 设计一个计算器界面,如下图所示. 创建一个项目,界面中包含5 ...

  7. 疯狂Android讲义(二)——第一部分:界面编程与视图 (View) 组件详解

    这里主要针对一些控件和布局的使用,篇幅会有点长.而且,不会像第一章一样全部详细列出.本章主要会用知识点的方式展示内容. ① Android应用开发的-项内容就是用户界面的开发.不管应用实际包含的逻辑多 ...

  8. Android界面编程的基本知识点

    界面编程与视图View组件 视图组件与容器组件 控制UI界面 xml控制 java控制 java与xml结合 布局管理器 LinearLayout RelativeLayout TableLayout ...

  9. 【Android基础】应用界面编程

    介绍 本章会介绍Android程序界面和很多组件的知识,是界面需要的知识. 通过学习本章的知识,可以开发出漂亮的图形用户界面,这些图形用户界面是Android应用开发的基础,也是非常重要的组成部分. ...

最新文章

  1. 女程序猿2014总结(修改)
  2. 使用DirectX截屏
  3. Python 技术篇-使用opencv读取图片实例演示,python安装opencv库
  4. python在办公上的应用_Python 应用 办公自动化之 Excel(上)
  5. 网管日志-06.07.24
  6. 理解C++ Executor的设计理念
  7. 追风猎洞只能喝西北风吗?
  8. C/C++浮点数在内存中的存储方式《转》
  9. zen-Coding
  10. [LeetCode]Reverse Integer
  11. 用户名_网络安全与防御-OpenSSH用户名枚举及其检测方法
  12. python基础教程菜鸟教程-python菜鸟教程官网
  13. 微信小程序demo(新闻类)
  14. vscode自动排版_微信公众号排版 | 最适合程序员的公众号排版
  15. 支付宝开发中,抱歉,该商户未开通支付宝服务,无法支付
  16. 思科 终端服务器的配置
  17. 拆装计算机主机,计算机主机拆卸步骤[多图]
  18. 安卓开发常用软件及环境配置
  19. 手把手教学:如何设计 SDK
  20. 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模

热门文章

  1. Python查询MySQL进行远程采集图片实例
  2. 处理JS异常的一个想法
  3. 安卓笔记之配置第一个程序
  4. jupyter ipython display_Tensorflow从jupyter / Ipython运行动画
  5. docker容器化python开发环境_如何 Docker 化 Python Django 应用程序
  6. python生词本的生词_【Anki小工具】有道生词本转Anki 1.0
  7. 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训
  8. zcmu1734: 18岁
  9. 钉钉宜搭入选Forrester《中国低代码平台市场分析报告》
  10. 【全球发布】乘云而上的阿里云MVP