android线性布局参数详解

android线性布局参数详解
android线性布局参数详解

android线性布局参数详解

https://www.360docs.net/doc/822090111.html,/trampou/article/details/5752533

线性布局中,有4个及其重要的参数,直接决定元素的布局和位置,这四个参数是android:layout_gravity (是本元素相对于父元素的重力方向)

android:gravity (是本元素所有子元素的重力方向)

android:orientation (线性布局以列或行来显示内部子元素)

android:layout_weight (线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大。

前提是子元素设置了android:layout_width = "fill_parent" 属性(水平方向)或android:layout_height = "fill_parent"属性(垂直方向)

如果某个子元素的android:layout_width = "wrap_content"

或android:layout_height ="wrap_content”,

则android:layout_weight 的设置值对该方向上空间的分配刚好相反。

下面以一个简单例子来说明这4个参数

"https://www.360docs.net/doc/822090111.html,/apk/res/android"

android:layout_height="200dp"

android:layout_width="200dp"

android:background="#AABBCC"

android:orientation="horizontal"

android:layout_gravity= "center">

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:layout_margin="1dp"/>

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:layout_margin="1dp"/>

说明:在上面的例子中,根布局是LinearLayout,其包含有2个TextView视图,为了对参数android:layout_gravity 有直观的了解,对根布局LinearLayout 特意加了3 个参数

android:layout_height = "200dp"

android:layout_width="200dp"

android:background="#AABBCC"

为布局指定了固定的宽度和高度,以及背景颜色,上面的例子运行后效果如下图:

说明:对LinearLayout中的参数android:layout_gravity 来说,其意义是指定本布局相对于父布局的重力方向,由于该布局的已经是根布局,其父布局是整个屏幕,那么该参数设置的是相对于屏幕的位置,可以换不同的参数top|bottom|left|right等等参数来试验。

现在增加参数android:gravity = "bottom|right"完整XML 如下,看看效果

"https://www.360docs.net/doc/822090111.html,/apk/res/android"

android:layout_height="200dp"

android:layout_width="200dp"

android:background = "#AABBCC"

android:orientation="horizontal"

android:layout_gravity= "center"

android:gravity="bottom|right">

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:layout_margin="1dp"/>

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:layout_margin="1dp"/>

通过改变android:gravity 参数的值可以看到实际效果。

参数android:orientation= "horizontal"决定了每个子元素各占一列,如果参数android:orientation= "vertical",则每个子元素各占一行,也就是从上到下排列了。

对于 LinearLayout 布局的子元素,给每个子元素加上参数android:layout_weight 看看效果

"https://www.360docs.net/doc/822090111.html,/apk/res/android"

android:layout_height="200dp"

android:layout_width="200dp"

android:background="#AABBCC"

android:layout_gravity="center"

android:gravity="bottom|right"

android:orientation="horizontal">

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:layout_margin="1dp"

android:layout_weight="1"/>

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:layout_margin="1dp"

android:layout_weight="2"/>

Text为ONE的权重为1,但明显占的宽度比TWO的小,百思不得其解,后来得知,如果把TextView 的参数android:layout_width = "wrap_content"全部修改为

android:layout_width = "fill_parent",则 ok ,代码如下

"https://www.360docs.net/doc/822090111.html,/apk/res/android"

android:layout_height="200dp"

android:layout_width="200dp"

android:background="#AABBCC"

android:layout_gravity="center"

android:gravity="bottom|right"

android:orientation="horizontal">

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:layout_margin="1dp"

android:layout_weight="1"/>

android:background="#aa0000"

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:layout_margin="1dp"

android:layout_weight="2"/>

android布局之LinearLayout

Java代码

1.main.xml

2.

3.

4.

5.

9.

10. xmlns:android="https://www.360docs.net/doc/822090111.html,/apk/res/android"

11. android:orientation="vertical"

12. android:layout_width="fill_parent"

13. android:layout_height="fill_parent">

14.

18. android:layout_height="wrap_content":随着文字栏位的不同

19. 而改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思

20.

21. layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。

22. 所有的视图都有一个layout_weight值,默认为零,意思是需要显示

23. 多大的视图就占据多大的屏幕空间。若赋一个高于零的值,则将父视

24. 图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight

25. 值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图屏幕布

26. 局的layout_weight值中所占的比率而定。

27. 举个例子:比如说我们在水平方向上有一个文本标签和两个文本编辑元素。

28. 该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。

29. 如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分

30. 在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个

31. 文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,

32. 则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要

33. 度越高)。

34. -->

35.

36. android:orientation="horizontal"

37. android:layout_width="fill_parent"

38. android:layout_height="fill_parent"

39. android:layout_weight="1">

40.

41. android:text="red"

42. android:gravity="center_horizontal"

43. android:background="#aa0000"

44. android:layout_width="wrap_content"

45. android:layout_height="fill_parent"

46. android:layout_weight="1"/>

47.

48.

49. android:text="green"

50. android:gravity="center_horizontal"

51. android:background="#00aa00"

52. android:layout_width="wrap_content"

53. android:layout_height="fill_parent"

54. android:layout_weight="1"/>

55.

56.

57. android:text="blue"

58. android:gravity="center_horizontal"

59. android:background="#0000aa"

60. android:layout_width="wrap_content"

61. android:layout_height="fill_parent"

62. android:layout_weight="1"/>

63.

64.

65. android:text="yellow"

66. android:gravity="center_horizontal"

67. android:background="#aaaa00"

68. android:layout_width="wrap_content"

69. android:layout_height="fill_parent"

70. android:layout_weight="1"/>

71.

72.

73.

74.

75. android:orientation="vertical"

76. android:layout_width="fill_parent"

77. android:layout_height="fill_parent"

78. android:layout_weight="2">

79.

80.

81. android:text="row one"

82. android:textSize="15pt"

83. android:layout_width="fill_parent"

84. android:layout_height="wrap_content"

85. android:layout_weight="1"/>

86.

87.

88. android:text="row two"

89. android:textSize="15pt"

90. android:layout_width="fill_parent"

91. android:layout_height="wrap_content"

92. android:layout_weight="1"/>

93.

94.

95. android:text="row three"

96. android:textSize="15pt"

97. android:layout_width="fill_parent"

98. android:layout_height="wrap_content"

99. android:layout_weight="1"/>

100.

101.

102. android:text="row four"

103. android:textSize="15pt"

104. android:layout_width="fill_parent" 105. android:layout_height="wrap_content" 106. android:layout_weight="1"/>

107.

108.

109.

110.

感觉这种形式有点像div+css的方式布局,不过这种方式的灵活性和div+css还是有些不及,主要是那android:layout_weight的值如何去确定,而且采用的是数值越小,重要度越高的方式,分配起来还得好好计算一下。

Java代码

1.Views.java

2.

3.

4.package https://www.360docs.net/doc/822090111.html,.view;

5.

6.import android.app.Activity;

7.import android.os.Bundle;

8.

9.public class Views extends Activity {

10. /** Called when the activity is first created. */

11. @Override

12. public void onCreate(Bundle savedInstanceState) {

13. super.onCreate(savedInstanceState);

14. setContentView(https://www.360docs.net/doc/822090111.html,yout.main);

15. }

16.}

我使用的版本为1.5.欢迎朋友们讨论

android:layout_gravity 和android:gravity 的区别

从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。

android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。

比如说button:android:layout_gravity 表示按钮在界面上的位置。android:gravity表示button上的字在button上的位置。

可选值

这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。

而且这些属性是可以多选的,用“|”分开。

默认这个的值是:Gravity.LEFT

对这些属性的描述:

出自:

https://www.360docs.net/doc/822090111.html,/guide/topics/resources/drawable-resource.html

https://www.360docs.net/doc/822090111.html,/reference/android/graphics/drawable/ClipDrawable.html

V alue Description

top Put the object at the top of its container, not changing its size.

将对象放在其容器的顶部,不改变其大小.

bottom Put the object at the bottom of its container, not changing its size.

将对象放在其容器的底部,不改变其大小.

left Put the object at the left edge of its container, not changing its size.

将对象放在其容器的左侧,不改变其大小.

right Put the object at the right edge of its container, not changing its size.

将对象放在其容器的右侧,不改变其大小.

center_vertical Place object in the vertical center of its container, not changing its size.

将对象纵向居中,不改变其大小.

垂直对齐方式:垂直方向上居中对齐。

fill_vertical Grow the vertical size of the object if needed so it completely fills its container.

必要的时候增加对象的纵向大小,以完全充满其容器.

垂直方向填充

center_horizontal Place object in the horizontal center of its container, not changing its size.

将对象横向居中,不改变其大小.

水平对齐方式:水平方向上居中对齐

fill_horizontal Grow the horizontal size of the object if needed so it completely fills its container.

必要的时候增加对象的横向大小,以完全充满其容器.

水平方向填充

center Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.

将对象横纵居中,不改变其大小.

fill Grow the horizontal and vertical size of the object if needed so it completely fills its container. This is the default.

必要的时候增加对象的横纵向大小,以完全充满其容器.

clip_vertical Additional option that can be set to have the top and/or bottom edges of the child clipped to its container's bounds. The clip is based on the vertical gravity: a top gravity clips the bottom edge, a bottom gravity clips the top edge, and neither clips both edges.

附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,

剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部.

垂直方向裁剪

clip_horizontal Additional option that can be set to have the left and/or right edges of the child clipped to its container's bounds. The clip is based on the horizontal gravity: a left gravity clips the right edge, a right gravity clips the left edge, and neither clips both edges.

附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.

水平方向裁剪

简单记忆:horizontal 都是操作的水平方向,即横向,vertical 都是炒作的垂直方向,即纵向。

对于LinearLayout何时生效的问题

参看:也谈layout_gravity和gravity

https://www.360docs.net/doc/822090111.html,/viewthread.php?tid=325

对于LinearLayout

当android:orientation="vertical" 时,只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。

当android:orientation="horizontal" 时,只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

[Android教程]TextView文本垂直/水平居中(android:gravity/layout_gravity)

[Android教程]TextView文本垂直/水平居中(android:gravity/layout_gravity)作者:lenomon 发布:2012-04-28 21:38

TextView要让文本垂直/水平居中显示,有两种情况需要考虑:

1、layout_width/layout_height为wrap_content,此时要让TextView在父控件上居中显示,必须设置layout_gravity=”center”。

2、layout_width/layout_height为fill_parent,此时由于TextView已占据父窗体所有空间,必须设置gravity=”center”。

PS:android:gravity用来设置TextView的内容对齐方式,android:layout_gravity用来设置TextView在父窗体中的对齐方式。

Java代码设置如下:

1 mTVText.setGravity(Gravity.CENTER); //左上角设置为:Gravity.LEFT|Gravity.TOP

2

3 4

5

6

7

8

9

10

//LinearLayout 居中

https://www.360docs.net/doc/822090111.html,youtParams params = new

https://www.360docs.net/doc/822090111.html,youtParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.gravity = Gravity.CENTER_HORIZONTAL;

//设置TextView 在LinearLayout 上的外边距(此处为距父窗体四周5个像素),建议单位使用dp,关于单位转换在下面说明

params.setMargins(5, 5, 5, 5);

//RelativeLayout 居中

https://www.360docs.net/doc/822090111.html,youtParams params2 = new

https://www.360docs.net/doc/822090111.html,youtParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params2.addRule(RelativeLayout.CENTER_VERTICAL);

PS:上面说了LinearLayout 和RelativeLayout 两种对齐方式的设置方法,其他布局类大都类似将不做介绍。在XML 布局文件中配置居中对齐方式可以使用android:gravity 或android:layout_gravity 属性。了解Android 单位转换,可查看文章Android 根据分辨率进行单位转换-(dp,sp 转像素px)

Android 根据分辨率进行单位转换-(dp,sp 转像素px)

Android 系统中,默认的单位是像素(px)。也就是说,在没有明确说明的情况下,所有的大小设置都是以像素为单位。

如果以像素设置大小,会导致不同分辨率下出现不同的效果。那么,如何将应用中所有大小的单位都设置为’dp ’呢?

实际上TextV iew.setTextSize()重载了根据单位设置大小的方法。

笔者在此基础上实现了以下方法:

1 2 3 4 /**

* 获取当前分辨率下指定单位对应的像素大小(根据设备信息)

* px,dip,sp -> px

*

5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23 * Paint.setTextSize()单位为px

*

* 代码摘自:TextView.setTextSize()

*

* @param unit https://www.360docs.net/doc/822090111.html,PLEX_UNIT_* * @param size

* @return

*/

public float getRawSize(int unit, float size) {

Context c = getContext();

Resources r;

if (c == null)

r = Resources.getSystem();

else

r = c.getResources();

return TypedValue.applyDimension(unit, size, r.getDisplayMetrics()); }

下面是网友提供的方法:

1 2 3 /**

* 根据手机的分辨率从dp 的单位转成为px(像素) */

4 5 6 7 8 9 10 11 12 13 14 15 public static int dip2px(Context context, float dpValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (dpValue * scale + 0.5f);

}

/**

* 根据手机的分辨率从 px(像素) 的单位 转成为 dp

*/

public static int px2dip(Context context, float pxValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (pxValue / scale + 0.5f);

}

android xml 设置属性

android:layout_width="fill_parent" --横轴方向居中

android:layout_height="fill_parent" --纵轴方向居中

android:layout_width="wrap_content" --横轴显示 居左

android:layout_height="wrap_content" --纵轴显示 居上

android:layout_marginRight="10dip" --设置右边空10个dip 的空白

android:layout_toRightOf="@id/icon" -- 设置显示在icon V iew 的右边

android:layout_alignParentRight="true" -- 设置显示在父 V iew 的右边

android:background="@drawable/exit" --设置exit 图片为背景图片

Android 中RelativeLayout 各个属性的含义

android:layout_above="@id/xxx" --将控件置于给定ID 控件之上

android:layout_below="@id/xxx" --将控件置于给定ID 控件之下

android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID 控件的左边缘对齐

android:layout_toRightOf="@id/xxx" --将控件的左边缘和给定ID 控件的右边缘对齐

android:layout_alignLeft="@id/xxx" --将控件的左边缘和给定ID 控件的左边缘对齐

android:layout_alignTop="@id/xxx" --将控件的上边缘和给定ID 控件的上边缘对齐

android:layout_alignRight="@id/xxx" --将控件的右边缘和给定ID控件的右边缘对齐

android:layout_alignBottom="@id/xxx" --将控件的底边缘和给定ID控件的底边缘对齐

android:layout_alignParentLeft="true" --将控件的左边缘和父控件的左边缘对齐

android:layout_alignParentTop="true" --将控件的上边缘和父控件的上边缘对齐

android:layout_alignParentRight="true" --将控件的右边缘和父控件的右边缘对齐

android:layout_alignParentBottom="true" --将控件的底边缘和父控件的底边缘对齐

android:layout_centerInParent="true" --将控件置于父控件的中心位置

android:layout_centerHorizontal="true" --将控件置于水平方向的中心位置

android:layout_centerV ertical="true" --将控件置于垂直方向的中心位置

针对RelativeLayout有一点需要注意,因为它内部是通过多个View之间的关系而确定的框架,那么当其中某一个View因为某些需要调用GONE来完全隐藏掉后,会影响与其相关联的V iews。Android为我们提供了一个属性alignWithParentIfMissing 用于解决类似问题,当某一个View无法找到与其相关联的Views后将依据alignWithParentIfMissing的设定判断是否与父级V iew对齐。

The preferred list item height

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".

The preferred list item height

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp".

android:layout_gravity 居中布局

垂直(vertical)的LinearLayout布局内无法通过控件的android:layout_gravity=""进行垂直居中,可以水平居中。

水平(horizontal)的LinearLayout布局内无法通过控件的android:layout_gravity=""进行水平居中,可以垂直居中。

2个都可以用布局的属性android:gravity指定所有控件的居中情况(用center可以水平,垂直居中)。

如果想要某个控件单独水平垂直居中,可以在控件外面再套个LinearLayout,然后android:gravity。android layout属性介绍

android:id

为控件指定相应的ID

android:text

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

指定View组件的对齐方式,比如说居中,居右等位置这里指的是控件中的文本位置并不是控件本身

android:layout_gravity (区别于:android:gravity )

指定Container组件的对齐方式.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"则button 靠右

android:textSize

指定控件当中字体的大小

android:background

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

android:width

指定控件的宽度

android:height

指定控件的高度

android:layout_width

指定Container组件的宽度

android:layout_height

指定Container组件的高度

android:layout_weight

View中很重要的属性,按比例划分空间

android:padding*

指定控件的内边距,也就是说控件当中的内容android:sigleLine

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

是控制图片如何resized/moved来匹对ImageView的size android:layout_centerHrizontal

水平居中

android:layout_centerV ertical

垂直居中

android:layout_centerInparent

相对于父元素完全居中

android:layout_alignParentBottom

贴紧父元素的下边缘

android:layout_alignParentLeft

贴紧父元素的左边缘

android:layout_alignParentRight

贴紧父元素的右边缘

android:layout_alignParentTop

贴紧父元素的上边缘

android:layout_alignWithParentIfMissing

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

在某元素的下方

android:layout_above

在某元素的的上方

android:layout_toLeftOf

在某元素的左边

android:layout_toRightOf

在某元素的右边

android:layout_alignTop

本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft

本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom

本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight

本元素的右边缘和某元素的的右边缘对齐

android:layout_marginBottom

离某元素底边缘的距离

android:layout_marginLeft

离某元素左边缘的距离

android:layout_marginRight

离某元素右边缘的距离

android:layout_marginTop

离某元素上边缘的距离

android:paddingLeft

本元素内容离本元素右边缘的距离

android:paddingRight

本元素内容离本元素上边缘的距离

android:hint

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

android:LinearLayout

它确定了LinearLayout的方向,其值可以为vertical,表示垂直布局horizontal,表示水平布局

android:singleLine="true" 是什么意思?

设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine "android:singleLine="true"android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行

2012-12-02 15:41

android:布局参数

以下大部为用在RelativeLayout中的一些参数:

android:layout_above将该控件的底部至于给定ID的控件之上,但不会左对齐,默认置于父窗口最左边,会覆盖最左边的控件

android:layout_below将该控件的顶部至于给定ID的控件之下,但不会左对齐,默认置于父窗口最左边,会覆盖最左边的控件

android:layout_toLeftOf将该控件的右边缘和给定ID的控件的左边缘对齐,默认置于父窗口最上面,会覆盖最上面的控件

android:layout_toRightOf将该控件的左边缘和给定ID的控件的右边缘对齐,默认置于父窗口最上面,会覆盖最上面的控件

Android布局属性大全

Android布局属性大全 布局: AbsoluteLayout(绝对布局): xmlns:android="https://www.360docs.net/doc/822090111.html,/apk/res/android" style="@..." android:clipChildren="true|false" android:clipToPadding="true|false" android:layoutAnimation="@---" android:animationCache="true|false" android:persistentDrawingCache="none|animation|scrolling|all":持续高速缓存绘图 android:alwaysDrawnWithCache="true|false" android:andStatesFromChildre="true|false" android:descendantFocusability="beforeDescendants|afterDescendants|bl ocksDescendants":后裔可聚焦 android:id="@+id/absoluteLayout" android:tag="@---" android:android:scrollX="---" android:android:scrollY="---" android:background="@---" android:padding="----" android:paddingLeft="----" android:paddingTop="----" android:paddingRight="----" android:paddingBotton="---" android:focusable="true|false" android:focusableInTouchMode="true|false" android:visibility="visible|invisible|gone" android:fitsSystemWindows="true|false":适合系统窗口 android:scrollbars="none|horizontal|vertical" android:scrollbarStyle="insideOverlay(内覆盖)|insideInset(内插 图)|outsideOverlay(外覆盖)|outsideInset(外插图)" android:isScrollContainer="true|false":是一个滚动集合 android:fadeScrollbars="true|false":褪色的滚动条 android:scrollbarFadeDuration="---":卷轴淡出 android:scrollDefaultDelayBeforeFade="---":滚动前默认延迟 android:scrollbarSize="---" android:scrollbarThumbHorizontal="@----":拇指水平滚动条 android:scrollbarThumbVertical="@----":拇指垂直滚动条 android:scrollbarTrackVertical="@---":垂直滚动条轨道 android:scrollbarTrackHorizontal="@---":水平滚动条轨道 android:scrollbarAlwaysDrawHorizontalTrack="true|false":水平滚动条总是吸引轨道

android布局属性详解

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 在

Android 开发之旅-view的几种布局方式及实践

Android 开发之旅:view的几种布局方式及实践 https://www.360docs.net/doc/822090111.html,/1943397/363552 2010-06-06 14:14:00 标签:布局 View 实践移动开发 Android 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。 https://www.360docs.net/doc/822090111.html,/1943397/363552 引言 通过前面两篇: 1.Android 开发之旅:又见Hello World! 2.Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.1、View布局概述 2.2、线性布局(Linear Layout) 1. 2.1、Tips:android:layout_weight="1" 3.3、相对布局(Relative Layout) 4.4、表格布局(Table Layout) 5.5、列表视图(List View) 1. 5.1、一个小的改进 2. 5.2、补充说明 6.6、网格视图(Grid View) 7.7 、绝对布局() 8.8、标签布局(Tab Layout) 1、view的布局显示概述 通过前面的学习我们知道:在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。Android中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。 View的布局显示方式直接影响用户界面,View的布局方式是指一组View元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。ViewGroup类是布局(layout)和视图容器(View container)的基类,此类也定义了https://www.360docs.net/doc/822090111.html,youtParams类,它作为布局参数的基类,此类告诉父视图其中的子视图想如何显示。例如,XML布局文件中名为layout_something的属性(参加上篇的4.2节)。我们要介绍的View的布局方式的类,都是直接或间接继承自ViewGroup类,如下图所示:

Android七种布局解析

我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!” 程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View 的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种: 线性布局(Linear Layout)、 相对布局(Relative Layout)、 表格布局(Table Layout)、 网格视图(Grid View)、 标签布局(Tab Layout)、 列表视图(List View)、 绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: ?1、View布局概述 ?2、线性布局(Linear Layout) o 2.1、Tips:android:layout_weight="1" ?3、相对布局(Relative Layout) ?4、表格布局(Table Layout) ?5、列表视图(List View) o 5.1、一个小的改进 o 5.2、补充说明 ?6、网格视图(Grid View) ?7 、绝对布局() ?8、标签布局(Tab Layout) 1、view的布局显示概述 通过前面的学习我们知道:在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。A ndroid中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。 View的布局显示方式直接影响用户界面,View的布局方式是指一组View元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。ViewGroup类是布局(layout)和视图容器(View containe r)的基类,此类也定义了https://www.360docs.net/doc/822090111.html,youtParams类,它作为布局参数的基类,此 类告诉父视图其中的子视图想如何显示。例如,XML布局文件中名为layout_so mething的属性(参加上篇的4.2节)。我们要介绍的View的布局方式的类,都是直接或间接继承自ViewGroup类,如下图所示:

android布局layout中的一些属性(DOC)

android布局layout中的一些属性 1、可以使某些资源文件或UI组件可重用 2、定义一个文本编辑框,使用绝对定位 android:layout_x="20dip" android:layout_y="80dip" 3、控件位置 android:layout_centerHorizontal 控制该组件是否位于布局容器的水平居中位置android:layout_centerVertical 控制该组件是否位于布局容器的垂直居中位置android:layout_centerInParent 控制该组件是否位于布局容器的中央位置 android:layout_alignParentBottom 控制该组件是否与布局容器底端对齐 android:layout_alignParentLeft 控制该组件是否与布局容器左边对齐 android:layout_alignParentRight 控制该组件是否与布局容器右边对齐 android:layout_alignParentTop 控制该组件是否与布局容器顶端对齐 android:layout_toRightOf 控制该组件位于给出的ID组件的右侧 android:layout_toLeftOf 控制该组件位于给出的ID组件的左侧 android:layout_above 控制该组件位于给出的ID组件的上方 android:layout_below 控制该组件位于给出的ID组件的下方 android:layout_alignTop 控制该组件与给出的ID组件的上边界对齐 android:layout_alignBottom 控制该组件与给出的ID组件的下边界对齐 android:layout_alignLeft 控制该组件与给出的ID组件的左边界对齐 android:layout_alignRight 控制该组件与给出的ID组件的右边界对齐 4、设置单元格内的控件的形状(可压缩,可伸长,可隐藏等) android:shrinkColumns 设置该列的所有单元格的宽度可以被收缩,以保证该表格能够适应父容器宽度 android:stretchColumns 设置该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间 android:collapseColumns 设置该列的所有单元格会被隐藏 5、TextView属性设置 设置字体为30pt android:textSize="30pt" 设置中间省略android:singleLine="true"android:ellipsize="middle" 对邮件增加链接android:autoLink="email"android:autoLink="email" 测试密码框android:password="true" 绘制一张图片android:drawableLeft="@drawable/icon" 6、EditText属性设置 当前组件在得到焦点的时候,自动选取该组件内的所有的文本内容 android:selectAllOnFocus="true"

Android开发TableLayout属性介绍

在android开发中,常见的布局方式有:LinearLayout (线性布局),RelativeLayout (相对布局),TableLayout (表格布局),AbsoluteLayout (绝对布局),FrameLayout (帧布局),今天我们主要介绍表格布局的相关属性。 TableLayout经常用到的属性有: android:collapseColumns:以第0行为序,隐藏指定的列: android:collapseColumns该属性为空时,效果如下图: 把android:collapseColumns=0,2--------------》意思是把第0和第2列去掉,如下图: android:shrinkColumns:以第0行为序,自动延伸指定的列填充可用部分: 当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图: 设置了shrinkColumns=0,1,2,布局完全没有改变,因为LayoutRow里面还剩足够的空间。当LayoutRow布满控件时,如下图: 设置设置了shrinkColumns=2,则结果如下图,控件自动向垂直方向填充空间:

android:stretchColumns:以第0行为序,尽量把指定的列填充空白部分: 设置stretchColumns=1,则结果如下图,第1列被尽量填充(Button02与TextView02同时向右填充,直到TextView03被压挤到最后边)。 更多android开发视频入门教程,点此查看>> https://www.360docs.net/doc/822090111.html,/course/2/。

AndroidXML布局属性详解

各种Layout用到的一些重要的属性: 第一类:属性值为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布局属性

android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText如果设置,将自动执行输入值的拼写纠正。 android:background 指定控件的背景色 android:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式。 android:capitalize设置英文字母大写类型。 android:cursorVisible设定光标为显示/隐藏,默认显示。 android:digits设置允许输入哪些字符。如“1234567890.+-*/% ()” android:drawableBottom在text的下方输出一个drawable。如果指定一个颜色的话会把text 的背景设为该颜色,并且同时和background使用时覆盖后者。 android:drawableLeft在text的左边输出一个drawable。android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。 android:drawableRight在text的右边输出一个drawable。 android:drawableTop在text的正上方输出一个drawable。 android:editable设置是否可编辑。 android:editorExtras设置文本的额外的输入数据。 android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”---省略号显示在开头;”end”---省略号显示在结尾;”middle”---省略号显示在中间;”marquee” ---以跑马灯的方式显示(动画横向移动) android:ems设置TextView的宽度为N个字符的宽度。 android:freezesText设置保存文本的内容以及光标的位置。 android:gravity设置文本位置,如设置成“center”,文本将居中显示。 android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米) android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。 android:imeActionId设置IME动作ID。 android:imeActionLabel设置IME动作标签。 android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。 android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。 android:lineSpacingExtra设置行间距。 android:lineSpacingMultiplier设置行间距的倍数。如”1.2” android:linksClickable设置链接是否点击连接,即使设置了autoLink。 android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。 android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems 选项。

Android培训之五大布局讲解

Android培训之五大布局讲解 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 LinearLayout: LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。 LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的 android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。 FrameLayout: FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。显示效果如下,第一个TextView被第二个TextView 完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。 AbsoluteLayout: AbsoluteLayout是绝对位置布局。在此布局中的子元素的 android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,

Android界面布局简介

Android界面布局简介 绪论 开发一款应用,其界面布局是非常重要的,界面布局就像站队一样,布局好了,就是站队整齐,用户看起来就非常舒服,Android提供了几种常见的布局类型,包括AbsoluteLayout,FrameLayout,GridLayout,RelativeLayout,LinearLayout,TableLayout等,虽然这些布局非常简单,但是通过对这些布局的组合,嵌套,可以得到非常丰富的视图结构。 1.1 AbsoluteLayout(绝对布局) 在这中布局下,开发者需要明确地指定各个子视图在屏幕上的X/Y坐标。考虑到现在的设备多样性,这种布局不仅不灵活,而且很难确定一个视图的具体位置,因此在Android中的文档中,已经将其标识为deprecated(过时的)。下图1.1-1是用Eclipse开发Android应用中添加的一个AbsoluteLayout的xml 1.1—1 1.2 FrameLayout(帧布局) FrameLayout从屏幕中截取出一块区域用于显示单独的一项视图组件,通常FrameLayout仅仅包含一个视图,因为在不同设备中,包含多个视图时,不可避免出现子图叠加的现象。

在FrameLayout中,子视图以栈的形式进行绘制,最新添加的视图绘制在上面,FrameLayout的尺寸及可见性有其包含的最大子视图决定。 1.3GridLayput(网格布局) GridLayout是在API Level 14中才新添加的布局类型,它能够将一个视图按照网格的形式经行划分,并且以“格”为单位来为子视图分配空间,一个子视图可以占用一格也可以占用多格(通过属性rowSpan和columnSpan参数经行设置),这种布局使得多行多列的布局实现更加有效。 1.4 LinearLayou (线性布局) LinearLayout将所有的子视图按照一列或者一行的形式经行排列,默认的排列方式是水平的,可以通过setOrientation和setGravity方法或对应的属性具体对它的排列方式进行设置。通过嵌套使用LinearLayout开实现多行或多列的布局。 1.5 RelativeLayout(相对布局) RelativeLayout使得子视图使用相对关系作为参数来经行排列,常用的关系有:above(在某个视图上方),below(在某个视图下方),toLeftOf,toRightOf,alignBaseLine(与某个视图BaseLine对齐),alignBottom(与某个视图底部对齐)等。 1.6TableLayout(表格布局) 该布局与GridLayout有些类似,它以表格的形式组织其内部的子视图。

android 控件常用属性

第一类:属性值为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线性布局参数详解

android线性布局参数详解 https://www.360docs.net/doc/822090111.html,/trampou/article/details/5752533 线性布局中,有4个及其重要的参数,直接决定元素的布局和位置,这四个参数是android:layout_gravity (是本元素相对于父元素的重力方向) android:gravity (是本元素所有子元素的重力方向) android:orientation (线性布局以列或行来显示内部子元素) android:layout_weight (线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大。 前提是子元素设置了android:layout_width = "fill_parent" 属性(水平方向)或android:layout_height = "fill_parent"属性(垂直方向) 如果某个子元素的android:layout_width = "wrap_content" 或android:layout_height ="wrap_content”, 则android:layout_weight 的设置值对该方向上空间的分配刚好相反。 下面以一个简单例子来说明这4个参数

布局属性

布局: 在android中我们常用的布局方式有这么几种: 1.LinearLayout (线性布局):(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为:android:orientation= " horizontal " android:orientation= "vertical" 。 2.RelativeLayout (相对布局 ): (里面可以放多个控件,但是一行只能放一个控件) 附加几类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 离某元素上边缘的距离 3.TableLayout (表格布局 ): (这个要和TableRow配合使用,很像html里面的table) 这个表格布局不像HTML中的表格那样灵活,只能通 过 TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。如:

Android 布局属性大全

RelativeLayout https://www.360docs.net/doc/822090111.html,/view/2e39724333687e21af45a97e.html?from=related&hasrec=1 https://www.360docs.net/doc/822090111.html,/view/d108da2fe2bd960590c677e2.html https://www.360docs.net/doc/822090111.html,/view/53e395f8770bf78a652954ce.html?from=related&hasrec=1 第一类:属性值为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_alignWithParentlfMissing 如果找不到对应的兄弟元素找不到,就以父元素做参照物。 第二类:属性值必须为id的引用名 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 android:layout_marginBottom 离某元素底边缘的距离 Android:layout_marginLeft 离某元素左边缘的的距离 Android:layout_marginRight 离某元素的右边缘的距离 Android:layout_marginTop 离某元素上边缘的距离 android:hint 设置EditText为空时输入的提示信息 android:gravity 对该view内容的限定:靠上下左右 android:layout_gravity="right" 用来设置该Container(组件)的靠左靠右 android:text 指定的控件当中显示的文字尽量使用string.xml文件当中的字符串Android:textSize 文字大小 Android:width 控件宽度 Android:height 控件高度 Android:layout_width 指定Container组件的宽度 Android:layout_height 指定Container组件的高度 View 按比例划分空间

Android页面布局小结

Andrioid布局: 在android中我们常用的布局方式有这么几种: 1.LinearLayout (线性布局):(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为:android:orientation= " horizontal "android:orientation= "vertical"。 2.RelativeLayout (相对布局):(里面可以放多个控件,但是一行只能放一个控件) 附加几类RelativeLayout的属性供大家参考: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentT op 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 若找不到兄弟元素以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignT op 本元素的上边缘和某元素的的上边缘对齐android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginT op 离某元素上边缘的距离 3.T ableLayout (表格布局):(这个要和TableRow配合使用,很像html里面的table) 这个表格布局不像HTML中的表格那样灵活,只能通过TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。如:

android开发常用控件及布局

一、开发概述 Android的控件体系分为三个类别: 1、基本控件 2、布局 3、容器 这三类控件主要分布在两个包中: 1、android.view 提供抽象接口 2、android.widget 提供系统内置的大部分控件 整个系统得控件都继承自android.view.View ,而布局及容器类继承自android.view.ViewGroup。 基本控件主要包括ImageView、ProgressBar、SurfaceView、TextView、EditText等。 布局 虽然布局跟容器均继承自android.view.ViewGroup,但并不像SWT那样提供了面板+布局 的结构,而是每种Layout就是一中特殊的面板,包括AbsoluteLayout、Fram eLayout、 LinearLayout、TableLayout、RelativeLayout等。 容器 这里的容器是指采用了特定的布局并且提供了行为的控件,包含ListView、GridView、Gallery、 Spinner等。 二、android常用控件 android常用控件之TextView、EditView、Button、Menu 示例:一个计算应用程序,输入2个数字,点击按钮进行计算两个数的积并且返回结果。 当点击模拟器右侧的Menu按钮,在输入界面中显示一个有关于和退出的菜单。 项目运行效果图: 开发步骤: 1、新建一个Android项目 2、在布局文件中依次添加EditText、TextView、EditText、Button(一定要按照界面 上控件显示的顺序在布局文件中添加) 3、再新建一个布局文件用来显示计算的结果;在这个布局文件中添加一个LinearLayout 和一个TextView(默认的布局文件中默认就有一个LinearLayout,所以不需要手动添加, 新建的布局文件默认为空,所以需要手动添加) 4、编写第一个Activity a) 让Activity继承android的Activity b) 重写Activity的onCreate()方法 c) 设置这个Activity的布局文件 d) 根据控件id获得控件对象 e) 设置控件的值,这个值引用的是string.xml中的值,所以还需要在string.xml文件中 设置(最好是使用string.xml中的值,以便实现国际化);这个在布局文件中也能设置; 5、新建一个Activity,ResultActivity a) 让Activity继承android的Activity b) 重写Activity的onCreate()方法 c) 设置这个Activity的布局文件 d) 根据控件id获得控件对象 6、在第一个Activity中编写Button的监听器

相关主题
相关文档
最新文档