文档章节

Android必备:Android UI控件的了解与学习

Realfighter
 Realfighter
发布于 2015/02/26 13:17
字数 857
阅读 466
收藏 7
点赞 0
评论 0

    看这里:Android必备:Android UI控件的了解与学习

    由于工作需要,最近一段时间,需要进行Android App开发的学习,之前简单的进行过Android的了解,对于基本的Android环境的搭建等已经有过整理,一个Android App是由一个或多个Activity组成,每一个Activity都是一个UI容器,也就是一个屏幕界面,一个界面的组成则是由一组Android UI控件组成,本篇,我们就来简单的对Android UI控件进行初步的了解和学习。

    Android UI控件根据其作用,大致可以分为两种:视图控件和布局控件。首先我们来了解一下视图控件。

    在App的开发中,一个视图控件在屏幕上占据一定的区域空间,通过Android提供的api,我们可以管理和空间这片区域的显示,以及处理这片区域发生的事件。比如Button(按钮)、TextView(文字框)、EditText(编辑框)、List(列表)、CheckBox(复选框)、RadioButton(单选框)等,这些视图控件都是继承自View类,它们都属于Android应用程序组成中的Widget。

    View可以放在ViewGroup中,由ViewGroup进行布局的管理,实现ViewGroup的类即为布局控件,在Android中布局通常有以下几种不同的情况(以下内容引自Android应用开发入门教程):

  • FrameLayout(框架布局):系统默认的在屏幕上就有空白区显示它; 

  • LinearLayout(线性布局):让所有的子视图都成为单一的方向,即垂直的或者水平的; 

  • AbsoluteLayout(绝对布局):让子视图使用x/y坐标确定在屏幕上的位置; 

  • RelativeLayout(相对布局):让子视图的位置和其他的视图相关; 

  • TableLayout(表格布局):位置是它的子视图的行或列。

    在实际开发中,经常使用的有两个:LinearLayout和RalativeLayout。LinearLayout是一种线性布局,可以进行垂直或水平方向的布局,需要通过android:orientation参数设置布局属性,vertical表示垂直布局,horizontal表示水平布局。RalativeLayout是相对布局,即根据控件的相对位置来确定自己的位置,进行布局。

     Android中控件类的扩展结构如图所示(引自Android应用开发入门教程):


    总的来说,Android App开发的基础是对Android布局文件XML的编写,即对UI控件的合理使用和布局控制,通过各个空间提供的一些布局参数,我们可以对控件进行精确的屏幕绘制,也需要持续的学习才能熟练应用,当然,我们也可以将这些基础控件组合成一个新控件,实现控件的自定义,这些也都需要持续的了解和学习。

© 著作权归作者所有

共有 人打赏支持
Realfighter

Realfighter

粉丝 131
博文 139
码字总数 144659
作品 2
洛阳
程序员
Android必备:Activity 活动 和 Intent 意图 的学习整理

看这里:Android必备:Activity 活动 和 Intent 意图 的学习整理 在Android必备:Android UI控件的了解与学习中,对AndroidUI做了初步的了解和学习,本篇继续进行Android开发学习的整理。And...

Realfighter
2015/03/04
0
0
最强最全干货分享:Android开发书籍、教程、工具等

最全干货分享,本文收集整理了Android开发所需的书籍、教程、工具、资讯和周刊各种资源,它们能让你在Android开发之旅的各个阶段都受益。 入门 《Learning Android(中文版)》 本书为Andro...

拉偶有所依
2015/01/09
0
1
Android开发者必备的42个链接

下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助大家从头开始学习Android开发,其他则面向较高级的开发者。希望推荐的这些内容对你有帮助。 官方网站 1、谷歌A...

henry-zhang
2015/07/20
0
0
Android Design与Holo Theme详解

在国内,有个很有意思的现状。一方面,几个国内最大的公司/企业的客户端/应用依旧冥顽不灵,丝毫不愿意遵循 Android Design,以各种扯淡的理由坚持使用 iOS UI 或者 Metro UI,或者其他叫不出...

枫影Xda
2013/05/21
0
1
android 自定义checkbox与文字的距离设置

改变checkbox默认的文字与选框之间的距离两种方案,刚刚开始接触checkbox 的时候由于不熟悉控件,使用了组合控件:一个未设定text的CheckBox和一个TextView来达到目的。后来发现只需要设定C...

NotFoundException
2014/05/13
0
0
android 单元测试之dialog测试链接整理

Android自动化测试—操作对话框(Dialog)上面的控件(robotium):http://www.ltesting.net/ceshi/ceshijishu/sjcs/android/2013/0427/206208.html Android文档学习UICreating Dialogs :http:......

智能小松鼠
2014/12/23
0
0
Android必备:Android Socket编程的了解与学习整理

看这里:Android必备:Android Socket编程的了解与学习整理 最近学习Android的过程中,由于项目、业务等因素影响,服务端通过Socket进行通信,于是开始学习Socket编程,之前的开发中,很少涉...

Realfighter
2015/03/02
0
0
Android自定义控件View的探讨

本文转载自:http://www.apkbus.com/forum.php?mod=viewthread&tid=242501&extra=page%3D1 做过了一段时间的安卓开发都会接触到自定义控件,那么对于自定义控件大家都有什么样的看法呢?自定...

谁带我去看看世界
2015/06/24
0
0
Android 多线AsyncTask详解

Android 多线AsyncTask详解 您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态。 如果文章内容对您有帮助, 不要忘记点击右下角的 ...

AbrahamLeeJay
2014/07/11
0
0
如何自定义LinearLayout

最近通过看别人代码和网上搜索,发现现在自定义LinearLayout的方式有两种。第一种是在扩展的LinearLayout构造函数中使用Inflater加载一个布局,并从中提取出相关的UI组件进行封装,形成一个独...

Kingguary
2012/06/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 配置时间和日期格式

你可以修改你 Confluence 为用户显示的时期和时间格式。设置的句法使用的是 SimpleDateFormat class,请参考 Java SimpleDateFormat 文档中的内容来设置日期和时间格式。 有下面 3 个时间和日...

honeymose
5分钟前
0
0
php seralize unserialize

关于PHP 序列化(serialize)和反序列化(unserialize)出现错误(Error at offset)的解决办法。 首先我们分析一下为什么会出现这个错误: 编码问题 UTF-8: ANSI: 我发现在我的机器上边编码改...

yeahlife
11分钟前
0
0
七、JSP九大内置对象和四个作用域

九大内置对象: request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。 response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基...

Wakeeee_
15分钟前
0
0
第十四章NFS服务搭建与配置

14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netap...

Linux学习笔记
47分钟前
0
0
双向认证-nginx

1、设置容器 docker run -it --name nginx-test2 -v /home/nginx:/apps -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 8183:80 -p 7443:443 -d nginx:stable 2、修改nginx配......

hotsmile
47分钟前
0
0
深入了解 Java 自动内存管理机制及性能优化

一图带你看完本文 一、运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《Java虚拟机规范(Java SE 7 版)》的规...

Java大蜗牛
49分钟前
4
0
SpringBoot | 第六章:常用注解介绍及简单使用

前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志 配置等。这章节开始,开始总结一些关于springboot的综合开发的知识点。由于SpringBoot本身是基于Spring和SpringMvc...

oKong
50分钟前
9
0
云数据库架构演进与实践

如今,大型企业如金融企业和银行等,在下一代的微服务架构转型要求下,需要基础软件和数据平台能够实现原生的云化,以满足微服务架构的需求。 微服务,也就是一种面向服务的,有特定边界的松...

巨杉数据库
51分钟前
0
0
Linux系统梳理---系统搭建(一):jdk卸载与安装

1.去官网下载符合Linux版本的jdk,暂用jdk-8u171-linux-x64.rpm 2.登陆Linux,进入usr目录,创建java目录(方便管理,可以其他位置):mkdir java 3.上传下载的jdk包至Linux服务器,使用rz指令(sz f...

勤奋的蚂蚁
今天
0
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

六库科技
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部