一、线性布局-LinearLayout(至上而下布局)

其中

android:orientation=”vertical”意思为垂直

方向的线性布局,此处的”vertical”可改为”horizontal”,意思是水平方向的线性布局。

android:layout_width=”match_parent”意思为这个控件的宽度占满整个屏幕或者父控件,此处的”match_parent”可改为”wrap_parant”,意思是宽度刚好包含住LinearLayout里面的内容。

常用布局控件:

android:id为控件指定相应的ID

android:text指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串

android:gravity控制这个一个控件的位置,比如居中、靠右、底部、上部等

android:textSize指定控件当中字体的大小

android:background指定该控件所使用的背景色,RGB命名法

android:layout_weight数值为几即该控件占满整个屏幕的数值合之几,比如当前Activity中有2个控件,第一个控件是android:layout_weight=”2″,第二个控件是android:layout_weight=”3″,则,第一个控件占整个屏幕的3/5。

android:height指定控件的高度

android:padding*指定控件的内边距,也就是说控件当中的内容,如android:paddingLeft=”10dip”、android:paddingRight=”10dip”等等。也可以直接android:padding=”10dip”意思是说内边距4面距离都为10.

android:singleLine如果设置为真的话,则将控件的所有内容在同一行当中进行显示

二、表格布局-TableLayout

概述:

TableLayout多用于列表的显示

1、把子元素放到行与列中。

2、不显示行、列和单元格的边界线。

3、单元格不能横跨行,类似于html。

//这一条语句的意思是:是设置 TableLayout所有行的第二列为拉伸列。也就是说如果每行都有三列的话,剩余的空间由第二列补齐。为0时则是第一列为拉伸列。目的是为了把父控件填满。

三、嵌套布局即多个布局嵌套使用。

如要实现以下布局:即多个LinearLayout嵌套

//需要注意的是嵌套的LinearLayout权重都是1,即各自占屏幕的一半。

四、相对布局-RelativeLayout

概念:

类似于CSS+DIV布局。

一个控件的位置,决定于他和周围控件的关系。

与其他控件的区别:

相对布局是依赖与和周围控件的关系而决定为位置的,如将A控件放在B控件的下方。

其中以下属性在实际应用中可能经常用到

android:layout_above将该控件的底部至于给定ID的控件之上

android:layout_below将该控件的顶部至于给定ID的控件之下

android:layout_toLeftOf将该控件的右边缘和给定ID的控件的左边缘对齐

android:layout_toRightOf将该控件的左边缘和给定ID的控件的右边缘对齐

android:layout_alignBaseline该控件的baseline和给定ID的控件的baseline对齐

android:layout_alignBottom将该控件的底部边缘与给定ID控件的底部边缘

android:layout_alignLeft将该控件的左边缘与给定ID控件的左边缘对齐

android:layout_alignRight将该控件的右边缘与给定ID控件的右边缘对齐

android:layout_alignTop将给定控件的顶部边缘与给定ID控件的顶部对齐

android:layout_alignParentBottom如果该值为true,则将该控件的底部和父控件的底部对齐

android:layout_alignParentLeft如果该值为true,则将该控件的左边与父控件的左边对齐

android:layout_alignParentRight如果该值为true,则将该控件的右边与父控件的右边对齐

android:layout_alignParentTop如果该值为true,则将控件的顶部与父控件的顶部对齐

android:layout_centerHorizontal如果值为真,该控件将被至于水平方向的中央

android:layout_centerInParent如果值为真,该控件将被至于父控件水平方向和垂直方向的中央

android:layout_centerVertical如果值为真,该控件将被至于垂直方向的中央

通俗的理解 Padding 为内边框,Margin 为外边框

对应的属性为

android:layout_marginBottom=”25dip”

android:layout_marginLeft=”10dip”

android:layout_marginTop=”10dip”

android:layout_marginRight=”10dip”

android:paddingLeft=”1dip”

android:paddingTop=”1dip”

android:paddingRight=”1dip”

android:paddingBottom=”1dip”

如果左右上下都是相同的设置则可以直接设置

android:layout_margin=”10dip”

android:padding=”5dip”

四、帧布局和网格布局-FrameLayout & GridLayout

FrameLayout

帧布局,在这种布局下,每个添加的子控件都被放在布局的左上角,并覆盖在前一个子控件的上层;此外,FrameLayout中的子控件的位置不能被指定。

GridLayout

网格布局,自Android4.0版本(API level 14)后,新增的网格布局。

注意:如果要达到网格的效果,推荐使用LinearLayout来实现,因为使用GridLayout会产生如下问题:

不能同时在(x,y)轴方向上进行控件的对齐;

当多层布局嵌套的时候会出现性能问题;

不能稳定地支持一些支持自由编辑布局的工具。

计算器界面

用GridLayout和Button模仿了一个计算器的按键界面。

gridlayout_calculator.jpg

布局源码

文/Ruj(简书作者)

原文链接:http://www.jianshu.com/p/4f0a7d319c89

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

文/Ruj(简书作者)

原文链接:http://www.jianshu.com/p/4f0a7d319c89

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

android 模板 ui布局,Android UI布局相关推荐

  1. android模板 警务,基于Android移动手机平台的警务查询系统

    摘要: 移动计算作为一种新的计算模式改变了人们使用信息的方式,使人们使用信息不再受时间和地点的限制.随着通讯技术的迅猛发展,手机.PDA等移动数字终端设备已经大量普及使用,在移动中获取信息的需求也越来 ...

  2. Android布局优化 UI框架Litho

    Litho 是什么 Litho 是一个用于在 Android 上构建高效用户界面(UI)的声明性框架.但不同以往的 UI 框架,它的底层是 Yoga, 它通过将不需要交互的 UI 转换为 Drawab ...

  3. Android UI -- 布局介绍(布局包括FrameLayout, LinearLayout, RelativeLayout, GridLayout)

    首先介绍常用布局类 FrameLayout 最简单的布局管理器. 这个布局管理类有几个特性: 添加组件默认在左上角的. 如果添加多个组件会叠加到一起,并且都在左上角.(可以通过一gravity属性改变 ...

  4. android 实现论坛界面,android界面开发之主流UI布局范例

    这篇文章主要说的是android中的UI设定.先看真题效果图,说明.本程序参考新浪微博,图片为猫扑图片. 程序只有最基本的模版,没有任何内容. 点击效果图 这布局为顶部+中间内容+底部模式,现在很多布 ...

  5. Android 开发 -- 开发第一个安卓程序、Android UI开发(布局的创建:相对布局和线性布局、控件单位:px pt dp sp、常用控件 、常见对话框、ListView)

    文章目录 1. 开发第一个Hello World程序 1.1 开发程序 1.2 认识程序中的文件 1.3 Android程序结构 1.4 安卓程序打包 2. Android UI开发 2.1 布局的创 ...

  6. Android UI详解之布局管理器(一)

    Android UI详解之布局管理器 一.布局管理器 ①顶级父类View ②子类GroupView ③AbsoluteLayout.FrameLayout.LinearLayout.GridLayou ...

  7. Android P SystemUI之StatusBar UI布局status_bar.xml解析

    相关源码: \frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\CollapsedStatusBar ...

  8. Android UI控件和布局

    说明: 本文是郭霖<第一行代码-第3版>的读书笔记 4.1 如何编写程序界面 编写XML,这是传统的方法 ConstraintLayout,Google推出的新方法,可以在可视化编辑器中拖 ...

  9. android 流行布局,Android流行UI布局——底部导航(BottomNavigationView+ViewPager+Fragment)...

    前言: Android端采用底部导航栏的APP非常多,比如微信.微博.支付宝...等等,这也不能说是盲目学习iOS,毕竟好东西大家都可以用,各家操作系统也都在博采众长,互相学习.Android端的底部 ...

最新文章

  1. android Style(样式)的解析
  2. [ACM] hdu 1253 胜利大逃亡 (三维BFS)
  3. android studio .so混淆配置,Android Studio 下混淆 文件配置 有关问题 初探(一)
  4. Endnote技巧:解决中英参考文献混排问题,附国标文件
  5. 34. Find First and Last Position of Element in Sorted Array
  6. 组策略里更改更新和设置客户端首页
  7. linux任务处理函数,Linux信号掩码和信号处理函数
  8. python 图像走势预测_在keras中对单一输入图像进行预测并返回预测结果操作
  9. mybatis SqlMapConfig.xml typeAliases
  10. Android平台的通话计时源码
  11. 中文车牌识别开源项目C++版使用笔记
  12. 英文缩写400个速查
  13. 科学网—世界上最神奇的30个经典定律——读书笔记 - 贾琳的博文 http://blog.sciencenet.cn/blog-455749-859616.html
  14. tlwr842n服务器无响应,TL-WR842n无线路由器掉线解决方法汇总
  15. Office 2007的VBA,以及Office开发的随想
  16. 西门子S7-200 SMART控制步进电机(二)
  17. AJAXJSON基础入门与提升
  18. 深入理解css基线与行高
  19. mysql geometry 怎么 操作_mysql中geometry类型的简单使用
  20. 微信小程序项目源码网上商城|电商+后台管理系统含论文+PPT+源码

热门文章

  1. 【对接】《前后端对接联调数据、调试接口过程乌龙大合集》
  2. webstorm2018修改运行web page端口号,并且让web在本地局域网内用IP访问
  3. VOLTE parameter in Attach Request/Accept message
  4. C++ 多线程:时间控制
  5. HTML学习笔记之基本介绍
  6. spring boot 服务 正确关闭方式
  7. 在Java连接hbase时出现的问题
  8. servlet程序HTTP Status 500 - Error instantiating servlet class 解决
  9. 【Web API系列教程】1.2 — Web API 2中的Action Results
  10. Spring.net使用说明