03 Android应用界面编程
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应用界面编程相关推荐
- Android无界面编程之使用Service
在上节中我记录了Service的生命周期,现在就来熟悉一下如何来使用Service和Service有哪些特别需要注意的知识点. 基本流程: 一.建立Service,通过编写子类继承Service或In ...
- android开发重要控件,Android界面编程——Android基本控件
Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员 ...
- android应用的界面编程----View与ViewGroup的概念
1 UI OverView Android中所有的UI元素都是通过View与ViewGroup来构建的,View是指屏幕中一块可与用户进行交互的空白,类似于java界面编程中的JPanel.为了界面布 ...
- Android界面编程之简单的图片浏览器
Android界面编程之简单的图片浏览器 在进行android编程之前,我们首先要明确一下几点: 1.安卓开发中各种资源所在的位置以及自己编写时应该放到的位置: android项目中所有的资源都放到r ...
- Android界面编程之利用单选框和复选框实现对学历和爱好进行选择
Android界面编程之利用单选框和复选框实现对学历和爱好进行选择 首先我们要了解一下单选框和复选框: , 单选框(Radio Button):当用户选择某单选按钮时,同一组中的其他单选按钮不能同时选 ...
- Android应用的界面编程
Android应用的界面编程 一.实验目的 了解界面编程和视图 掌握Android界面的几种布局方式 掌握常用的集中UI组件 二.实验内容 设计一个计算器界面,如下图所示. 创建一个项目,界面中包含5 ...
- 疯狂Android讲义(二)——第一部分:界面编程与视图 (View) 组件详解
这里主要针对一些控件和布局的使用,篇幅会有点长.而且,不会像第一章一样全部详细列出.本章主要会用知识点的方式展示内容. ① Android应用开发的-项内容就是用户界面的开发.不管应用实际包含的逻辑多 ...
- Android界面编程的基本知识点
界面编程与视图View组件 视图组件与容器组件 控制UI界面 xml控制 java控制 java与xml结合 布局管理器 LinearLayout RelativeLayout TableLayout ...
- 【Android基础】应用界面编程
介绍 本章会介绍Android程序界面和很多组件的知识,是界面需要的知识. 通过学习本章的知识,可以开发出漂亮的图形用户界面,这些图形用户界面是Android应用开发的基础,也是非常重要的组成部分. ...
最新文章
- 女程序猿2014总结(修改)
- 使用DirectX截屏
- Python 技术篇-使用opencv读取图片实例演示,python安装opencv库
- python在办公上的应用_Python 应用 办公自动化之 Excel(上)
- 网管日志-06.07.24
- 理解C++ Executor的设计理念
- 追风猎洞只能喝西北风吗?
- C/C++浮点数在内存中的存储方式《转》
- zen-Coding
- [LeetCode]Reverse Integer
- 用户名_网络安全与防御-OpenSSH用户名枚举及其检测方法
- python基础教程菜鸟教程-python菜鸟教程官网
- 微信小程序demo(新闻类)
- vscode自动排版_微信公众号排版 | 最适合程序员的公众号排版
- 支付宝开发中,抱歉,该商户未开通支付宝服务,无法支付
- 思科 终端服务器的配置
- 拆装计算机主机,计算机主机拆卸步骤[多图]
- 安卓开发常用软件及环境配置
- 手把手教学:如何设计 SDK
- 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模
热门文章
- Python查询MySQL进行远程采集图片实例
- 处理JS异常的一个想法
- 安卓笔记之配置第一个程序
- jupyter ipython display_Tensorflow从jupyter / Ipython运行动画
- docker容器化python开发环境_如何 Docker 化 Python Django 应用程序
- python生词本的生词_【Anki小工具】有道生词本转Anki 1.0
- 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训
- zcmu1734: 18岁
- 钉钉宜搭入选Forrester《中国低代码平台市场分析报告》
- 【全球发布】乘云而上的阿里云MVP