来自:http://blog.sina.com.cn/s/blog_40797b1001010vwt.html

RelativeLayout用到的一些重要的属性:

第一类:属性值为true或false

android:layout_centerHrizontal 水平居中

android:layout_centerVertical 垂直居中

android:layout_centerInparent 相对于父元素完全居中

android:layout_alignParentBottom 贴紧父元素的下边缘

android:layout_alignParentLeft 贴紧父元素的左边缘

android:layout_alignParentRight 贴紧父元素的右边缘

android:layout_alignParentTop 贴紧父元素的上边缘

android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物

第二类:属性值必须为id的引用名“@id/id-name”

android:layout_below 在某元素的下方

android:layout_above 在某元素的的上方

android:layout_toLeftOf 在某元素的左边

android:layout_toRightOf 在某元素的右边

android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

第三类:属性值为具体的像素值,如30dip,40px

android:layout_marginBottom 离某元素底边缘的距离

android:layout_marginLeft 离某元素左边缘的距离

android:layout_marginRight 离某元素右边缘的距离

android:layout_marginTop 离某元素上边缘的距离

EditText的android:hint

设置EditText为空时输入框内的提示信息。

android:gravity 

android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右

android:layout_gravity

android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"则button靠右

android:layout_alignParentRight

使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。

android:scaleType:

android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / 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 用矩阵来绘制,动态缩小放大图片来显示。

** 要注意一点,Drawable文件夹里面的图片命名是不能大写的。

来自:http://wangyang191.iteye.com/blog/1582658

TableLayout特点:

1)TableLayout和我们平时在网页上见到的Table有所不同,TableLayout没有边框的

2)它是由多个TableRow对象组成,每个TableRow可以有0个或多个单元格,每个单元格就是一个View。这些TableRow,单元格不能设置layout_width,宽度默认是fill_parent的,只有高度layout_height可以自定义,默认是wrap_content。

3)单元格可以为empty,并且通过android:layout_column可以设置index值实现跳开某些单元格。在TableRow之间

4)添加View,设置layout_height以及背景色,就可以实现一条间隔线。android:layout_span可以设置合并几个单元格:

Java代码
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent">
  5. <TableRow>
  6. <TextView
  7. android:text="column1"
  8. android:padding="3dip"/>
  9. <TextView
  10. android:text="column2"
  11. android:padding="3dip"/>
  12. <TextView
  13. android:text="column3"
  14. android:padding="3dip"/>
  15. </TableRow>
  16. <TableRow>
  17. <TextView
  18. android:text="column11"
  19. android:visibility="invisible"/>//cell不见了
  20. <TextView
  21. android:text="左边的invisible"
  22. android:gravity="right"
  23. android:padding="3dip"/>
  24. <Button
  25. android:id="@+id/go"
  26. android:text="go"
  27. android:padding="3dip"/>
  28. <Button
  29. android:text="cancel"
  30. android:padding="3dip"/>
  31. </TableRow>
  32. <View//间隔线
  33. android:layout_height="2dip"
  34. android:background="#F00"/>
  35. <TableRow>
  36. <TextView
  37. android:text="右边的cellempty"/>
  38. <TextView
  39. android:layout_column="2"
  40. android:text="跳开emptycell"
  41. android:padding="3dip"/>
  42. </TableRow>
  43. <TableRow>
  44. <TextView
  45. android:text="合并3个单元格"
  46. android:layout_span="3"
  47. android:gravity="center_horizontal"
  48. android:background="#FFC0C0C0"
  49. android:textColor="#f00"
  50. android:padding="3dip"/>
  51. </TableRow>
  52. </TableLayout>


没有设置收缩/伸展效果


注意,原来没有添加 android:padding="3dip" 的,发现那些column会凑在一起的,没有空白间隔!明显看到,那个cancel按钮被挤到几乎看不见了!这时候需要使用
1)android:shrinkColumns="可收缩的column",
2)android:stretchColumns="可伸展的column"。
android:shrinkColumns和android:stretchColumns的值都是以0开始的index,但必须是string值,即用"1,2,5"来表示。可以用"*"来表示all columns。而且同一column可以同时设置为shrinkable和stretchable。
如果使用TableLayout类的setColumnShrinkable/setColumnStretchable (int columnIndex, boolean isShrinkable)就麻烦些了,需要一个一个column来设置。也可以使用TableLayout的setShrinkAllColumns/setStretchAllColumns来设置all columns。
判断这些column是否shrinkable或stretchable,可以调用isColumnShrinkable/isColumnStretchable(int columnIndex),isShrinkAllColumns()/isStretchAllColumns()。

Java代码
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:shrinkColumns="0">//设置第一个column可收缩
  6. <TableRow>
  7. <TextView
  8. android:text="column1"
  9. android:padding="3dip"/>
  10. <TextView
  11. android:text="column2"
  12. android:padding="3dip"/>
  13. <TextView
  14. android:text="column3"
  15. android:padding="3dip"/>
  16. </TableRow>
  17. <TableRow>
  18. <TextView
  19. android:text="column11"
  20. android:visibility="invisible"/>
  21. <TextView
  22. android:text="左边的invisible"
  23. android:gravity="right"
  24. android:padding="3dip"/>
  25. <Button
  26. android:id="@+id/go2"
  27. android:text="go2"
  28. android:padding="3dip"/>
  29. <Button
  30. android:text="cancel"
  31. android:padding="3dip"/>
  32. </TableRow>
  33. <View
  34. android:layout_height="2dip"
  35. android:background="#F00"/>
  36. <TableRow>
  37. <TextView
  38. android:text="右边的cellempty"/>
  39. <TextView
  40. android:layout_column="2"
  41. android:text="跳开emptycell"
  42. android:padding="3dip"/>
  43. <TextView
  44. android:text="123456789"
  45. android:padding="3dip"/>
  46. </TableRow>
  47. </TableLayout>


可收缩column效果


现在可以看到第一个column为了让第4个column完整显示,而收缩得内容分为几行显示!

而可伸展column的效果就是在其他column可以完整显示时,该column就会伸展,占最多空间:

<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:stretchColumns="1"> // 设置第二个column可伸展    <TableRow>         <TextView             android:text="column1"             android:padding="3dip" />         <TextView             android:text="column2"             android:gravity="right"             android:padding="3dip" />         <TextView             android:text="column3"             android:padding="3dip"  />     </TableRow>     <TableRow>         <TextView             android:text="column1"             android:padding="3dip" />         <TextView             android:text="column2"             android:gravity="right"             android:padding="3dip" />         <TextView             android:text="column3"             android:padding="3dip"  />     </TableRow> </TableLayout> 


可伸展column效果


而动态隐藏column,可以调用TableLayout.setColumnCollapsed (int columnIndex, boolean isCollapsed)来指定相应的column。另外TableLayout类的boolean isColumnCollapsed (int columnIndex)能够判断指定的column是否隐藏。

TableLayout可以用来做网页上的Form显示效果,看看官方的sample:

<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:stretchColumns="1">    <TableRow>        <TextView            android:text="@string/table_layout_10_user"            android:textStyle="bold"            android:gravity="right"            android:padding="3dip" />        <EditText android:id="@+id/username"            android:text="@string/table_layout_10_username_text"            android:padding="3dip"            android:scrollHorizontally="true" />    </TableRow>    <TableRow>        <TextView            android:text="@string/table_layout_10_password"            android:textStyle="bold"            android:gravity="right"            android:padding="3dip" />        <EditText android:id="@+id/password"            android:text="@string/table_layout_10_password_text"            android:password="true"            android:padding="3dip"            android:scrollHorizontally="true" />    </TableRow>    <TableRow        android:gravity="right">        <Button android:id="@+id/cancel"            android:text="@string/table_layout_10_cancel" />        <Button android:id="@+id/login"            android:text="@string/table_layout_10_login" />    </TableRow> </TableLayout> 


Form效果

更多相关文章

  1. android 2.2 apidemos 赏析笔记 4
  2. Android点击左右按钮实现左右滑动页面切换
  3. windows 系统Android模拟器联网设置
  4. android EditText 设置输入的文字的格式方式
  5. Android(安卓)天气预报图文字幕垂直滚动效果
  6. Android(安卓)分割线
  7. android 设置时区
  8. android样式学习(二) android给listview设置分割线Divider样式
  9. Android(安卓)网络开发详解

随机推荐

  1. Android各个版本 版本号对应关系表
  2. android 添加混淆
  3. Android(安卓)NDK 工具链的使用方法(Stand
  4. Android‘s process
  5. 让TextView的drawable与文字一起居中
  6. Android:音视频刻录
  7. Universal Image Loader库使用方法
  8. android圆盘菜单效果
  9. 自定义线程池管理类
  10. Android布局颜色对应值