Android UI布局

一、线性布局-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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容