Android —— LinearLayout属性集合(一)

在开发过程中,Android控件/控件属笥有好多都没有使用过,所以这里进行总结学习下 ^ ^

 

一:LinearLayout 线性布局属性

1)baselineAligned :该属性默认为true,设为false后将会阻止该布局管理器与它的子元素基线对齐

 

Android —— LinearLayout属性集合(一)_第1张图片

 

根据图上的布局,将此属性设为false,然后运行后的结果如下:

 

将此属性去掉/设置为true,运行结果如下: 

 

根据以上事例,那基线也就显而易见了吧,说白了就是控件的显示是首先从底部对齐的,如果设为false那就从头部开始对齐,注:布局中控件的字体定义了大小是为了显示效果更明显,如果不定义字体大小则看不出具体变化。ps:线性布局为水平方向

 

2)baselineAlignedChildIndex:当前线性布局中的view按照哪个控件的基线对齐,下标从0开始

 

Android —— LinearLayout属性集合(一)_第2张图片

根据图中代码的设置,期望整个布局中第一个控件是按照子布局中第3个View的基线进行显示的,因此得到如下图所示结果:

Android —— LinearLayout属性集合(一)_第3张图片

 

注:baselineAlignedChildIndex属性只适应于控件类型为Button、TextView、EditView,如果布局中包含除此之外的控件,则其会报如下错误(不知道如何去得到基线):

 

Android —— LinearLayout属性集合(一)_第4张图片

 

3)divider:设置布局中控件间的分隔线与showDividers属性结合使用

 

showDividers的属性包括:

middle 在每一项中间添加分割线

end 在整体的最后一项添加分割线

beginning 在整体的最上方添加分割线

none 无

效果图:

Android —— LinearLayout属性集合(一)_第5张图片

shape文件内容:

Android —— LinearLayout属性集合(一)_第6张图片

注:以上divider属性需要使用@drawable来引用图片或者shape文件才能显示,使用color的话效果不变,shape文件中需要添加颜色及size的属性。showDividers中的属性可以根据需求进行更改,这里就不一一列举了。

 

4)weightSum:权重的总和

 

Android —— LinearLayout属性集合(一)_第7张图片

权重总和为8,而文字=‘第二个控件’的TextView权重为6,而另一个控件则占剩余的2个权重。

 

5)measureWithLargestChild:默认为false,当为true时,该布局中的所有view会按照最大的那个控件的宽/高为基准进行显示(前提:view中必须使用权重)

 

Android —— LinearLayout属性集合(一)_第8张图片

Android —— LinearLayout属性集合(一)_第9张图片

如图所示将measureWithLargestChild属性值设为true的时侯,根据布局的方向如果是垂直的话,那么文字多的控件有多高,其它控件所占的高度就会与它一样高;如果是水平的话,那就是宽相同。如果控件中没有使用weight权重的话,那就如文本为“第四个控件”一样无任何变化。

线性布局的属性就总结到这里,其它基础属性就不在这里闡述了,如有不准确的地方请勿喷!!

本文章多用图形与描述结合的形式进行总结,更为直观些。

 

 

 

 

 

 

你可能感兴趣的:(Android)