Fork me on GitHub

【Android學習專題】視覺介面篇:Android布局及属性归总(查询用)


【Android學習專題】視覺介面篇:Android布局及属性归总(查询用)

SkySeraph Feb 14th 2012  SZ

Email:skyseraph00@163.com 



常见布局

LinearLayout       线性布局          子元素任意,组织成一个单一的水平或垂直行,默认为水平方向
TableLayout        表格布局          子元素为<TableRow>,一个TableRow就代表TableLayout中的一行
RelativeLayout      相对布局          子元素任意
AbsoluteLayout     绝对布局         子元素任意
FrameLayout       帧布局        控件会放到左上角


公共控件属性

android:id = "@+id/XXX"                 程序中通过ID来关联控件
android:layout_width/android:layout_height         控制控件的宽度/高度,可选"wrap_content"/"fill_parent"/"match_parent"/具体像素
android:layout_marginLeft/Right/Top/Bottom = “5dip”   各边距离其他控件的距离
android:gravity                      控件中内容的显示位置
android:textSize                      空间中文本大小
android:textColor = "#ff123456"             空间中文本颜色,以#开头,前两位为透明值,后六位为颜色值
android:textStyle = "normal"/"bold"/"italic"        控件文本风格,也可用“|”将属性组合起来
android:text                       控件文本内容
android:sigleLine                     如果设置为真的话,则将控件的内容在同一行当中进行显示
android:background = "@drawable/window_bg"      控件背景
android:scaleType                     控制图片方式。
  CENTER /center          按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
  CENTER_CROP / centerCrop    按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
  CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
  FIT_CENTER / fitCenter       把图片按比例扩大/缩小到View的宽度,居中显示
  FIT_END / fitEnd         把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
  FIT_START / fitStart       把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
  FIT_XY / fitXY            把图片不按比例扩大/缩小到View的大小显示
  MATRIX / matrix         用矩阵来绘制,动态缩小放大图片来显示。
android:src = "@drawable/window_bg"      引用资源/控件图片,用于ImageButton,ImageView等需要图片的控件
android:visibility                 控件可见性,"visible"表可见,"invisible"表不可见,但在布局中占用的位置还在,"gone"表不可见,完全从布局中消失
android:padding                 空间中内容与控件边框的距离
android:weight                   指定画完控件后剩余空间的分配所占比例
android:ems/maxEms/minEms           控制控件宽度
EditText的android:hint              设置EditText为空时输入框内的提示信息


LinearLayout特有属性

android:orientation=horizontal/vertical     布局中子控件排布方向,默认为水平方向
android:layout_weight             子元素属性,描述子元素在父元素剩余空间中占有的大小比例,关于此属性,详见http://sinye.iteye.com/blog/1068204


TableLayout特有属性(子元素都是横向排列,并且宽高一致)

android:orientation        属性值恒为horizontal
android:layout_width     属性值恒为MATCH_PARENT

android:layout_height     属性值恒为WRAP_CONTENT
android:stretchColums    指定当一个TableRow中的控件不够填充满整个宽度时,将会被拉伸的条目


RelativeLayout特有属性

android:layout_alignParentLeft/Right/Top/Bottom = "true/false"     紧贴父控件,与父控件对齐方式
android:layout_alignWithParentIfMissing                 如果对应的兄弟元素找不到的话就以父元素做参照物
android:orientation                            布局中子控件排布方向
android:layout_toRightOf/toLeftOf/below/above="@id/id-name"     控件和某个控件的位置关系,其中在左边/右边包含但不仅限于紧靠,在上方/下方包含但不仅限于正上方/正下方
android:layout_alignTop/Bottom/Left/Right/Baseline="@id/id-name"  控件与其他控件对齐
android:layout_centerHorizontal/Virtical/InParent           指定控件位于水平/垂直/父控件的中间位置


AbsoluteLayout特有属性

android:layout_X/Y           控件的X,Y坐标,屏幕左上角为坐标原点(0,0)


注意点 

1  android:gravity设置控件中内容的对齐方式,android:layout_gravity设置控件本身的对齐方式
2  当android:gravity和android:padding同时做用时,先按gravity进行排布,再按padding调整
3  android:padding指定内边距(站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离),

    android:layout_margin指定外边距(站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了)
4  Drawable文件夹里面的图片命名是不能大写的
5  单个控件的风格设置通过在布局文件的控件中添加style属性,整个Activity或者App的主题设置通过在manifest文件中的Theme设置


Refs

浅谈Android五大布局(一)——LinearLayout、FrameLayout和AbsoulteLayout - 熊猫82 - 博客园

浅谈Android五大布局(二)——RelativeLayout和TableLayout - 熊猫82 - 博客园
Android成长之路-布局详解 - - 博客频道 - CSDN.NET
Android成长之路-好玩的相对布局 - - 博客频道 - CSDN.NET
android layout_weight讲解 - 路漫漫其修远兮 吾将上下而求索 - ITeye技术网站
android_paddingLeft与android_layout_marginLeft的区别_fynancywin的空间_百度空间
padding与margin的区别 - Lily's Android tech Blog - 博客频道 - CSDN.NET
新浪微博布局学习——活用RelativeLayout - 农民伯伯 - 博客园
RelativeLayout ? { Android学习指南 }
Android 利用addView 让Activity 动态加入多个View 物件 _ 第三极 _ 移动开发者
Android2.2中添加的match_parent和fill_parent没有区别 - ·没有风雨躲得过,没有坎坷不必走· - 博客频道 - CSDN.NET
Android布局之RelativeLayout(相对布局)_hoyah_百度空间
Android布局之AbsoluteLayout(坐标布局)_hoyah_百度空间
Android布局之LinearLayout(线性布局)_hoyah_百度空间
Android布局之TableLayout(表格布局)_hoyah_百度空间
Android布局之FrameLayout(单帧布局)_hoyah_百度空间
LinearLayout、RelativeLayout、FrameLayout居中显示 - Android - 红黑联盟
Android-TableLayout布局 - 个人笔记 - 51CTO技术博客
Android入门第五篇之TableLayout (二) - hellogv的专栏 - 博客频道 - CSDN.NET
Android入门第四篇之TableLayout (一) - hellogv的专栏 - 博客频道 - CSDN.NET
Android入门第三篇之RelativeLayout、FrameLayout - hellogv的专栏 - 博客频道 - CSDN.NET
Android入门第二篇之LinearLayout、AbsoluteLayout - hellogv的专栏 - 博客频道 - CSDN.NET
Android成长之路-编码实现软件界面 - - 博客频道 - CSDN.NET
Android腾讯微薄客户端开发八_微博查看(转播,对话,点评) - Android - mobile - ITeye论坛
android复杂布局示例 - meetrice - 博客园
Android笔记:Button居中_水平居中_垂直居中(总结) - Mars2639——求知de路上 - 博客频道 - CSDN.NET
android布局属性详解 - C'est la vie - 博客园
【原创】常见的四种布局使用及其中常用控件属性_洛朗朗_新浪博客
android布局属性大全 - A_Big_Monkey - ITeye技术网站

 

posted @ 2012-03-14 21:39  SkySeraph  阅读(4255)  评论(0编辑  收藏  举报