Blog / 阅读

Android之LinearLayout布局

by admin on 2014-03-19 15:24:22 in ,



LinearLayout标签中的android:orientation属性用于定义该LinearLayout内的各种控件的排列对齐方式。有”vertical”和”horizontal”两种值,分别表示垂直对齐和水平对齐。例如android:orientation=”horizontal”这样定义就表示该LinearLayout内的所有控件的中心点都在一条水平线上,即左右方向。而android:orientation=”vertical”则表示LinearLayout中的控件的中心点都在一条垂直线上,即上下方向。
当android:orientation设置为vertical时,一行只能有一个元素,而不管该元素有多宽;当设置为horizontal时,则所有元素都在一行,不会换行。


android:layout_width与android:layout_height用于定义控件的宽度与高度。它也有两个值,分别是:”fill_parent”与”wrap_content”。”fill_parent”表示控件的宽/高度以其父视图大小为准,即填满父视图的空间;”wrap_content”随着视图中内容的不同而改变控件的宽度或者高度,类似于自动设置宽/高的意思。需要注意的是,这两个属性会受android:layout_weight的影响。
当然,你还可以使用android:layout_width和android:layout_height指定宽度和高度时,可指定尺寸,如25px。如果不想指定具体的宽度和高度时,可以使用“wrap_content”使控件根据内容来自适应或者可以使用“fill_parent”占满该控件所在容器的所有空间。


在JAVA在代码里可通过setOrientation方法进行动态改变,值分别为HORIZONTAL或者VERTICAL。


android:layout_weightlayout_weight是LinearLayouts布局里一个很重要的值。它用于定义一个线性布局中的诸多视图的重要度。所有的视图都有一个layout_weight值,默认为零,意思是需要显示多大的视图就占据多大的屏幕空间。若赋一个高于零的值,则将父视图中的可用空间分割,分割大小取决于布局中的每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它视图屏幕布局的layout_weight值中所占的比率而定。
当设置某个视图的android:layout_weight值为0时,该视图覆盖整个屏幕,其它视图将不能显示。Android总是将第一个layout_weight值为0的视图最大化,而忽略其它视图。


举个例子:比如说在水平方向上有一个文本标签和两个文本编辑元素。该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。如果两个文本编辑元素每一个的android:layout_weight值都设置为1,则两者平分在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要度越高)。


即在一个LinearLayout内各个组件是按layout_weight值以反比形式显示在屏幕上,在LinearLayout之间也是以反比的形式显示在屏幕上的。更多有关android:layout_weight的信息可以在Google中搜索”android layout_weight”关键字来得到。


android:gravity控件中的内容的对齐方式默认是left and top aligned(左上,前者left表示垂直方位上的对齐方式,后者top表示水平方位上的对齐方式,对齐时都是以包含控件的视图的中心点为基准的)的,但可通过对应的xml属性android:layout_gravity重新设置(在JAVA代码中使用setGravity方法设置) 内容在控件中的方位。如上例中的android:gravity=”center_horizontal”,即设置内容在控件中的位置是:居中并且水平对齐。
android:padding设置边距,有4个方向上的边距属性:android:paddingLeft、 android:paddingRight,、android:paddingTop以及


android:paddingBottom。
其它属性


android:text            定义文本内容




android:textSize      定义文字大小




android:background  定义背景色




android:textColor     定义文本颜色


写评论

相关文章

上一篇:Android如何获取屏幕的分辨率

下一篇:解决PopupWindow获得焦点后Activity按键无响应的问题

评论

写评论

* 必填.

分享

栏目

赞助商


热门文章

Tag 云