Android: LinearLayout 记录

1、 基本内容

    一图解决:



2、weight 权重

    其他属性相对简单,最主要是weight属性。

    weight分两种情况分析,分别是指控件宽度layout_width为wrap_content和match_parent(fill_parent)两种情况。

    当宽度为wrap_content时,很简单,直接按比例分配即可。

    当宽度为fill_parent时,就需要我men进行简单的计算了。

    首先理解一下weight的含义。weight是指我们设置控件所占屏幕的权重。

    而实际上,控件的长度为控件原来的长度+剩余空间所占百分比的长度。

    举个例子:

    假如有3个TextView控件,weight比例分别为1:2:3,layout_width均设置为fill_parent, 屏幕宽度为L。

    那么,剩余空间就是L - 3L = -2L。(解释一下: 屏幕只有一个L,但我实际需要3个L,所以还差2个L)。

    得到,第一个TextView的实际宽度为: 1-2L * (1/6) = 2/3;

              第二个TextView的实际宽度为: 1-2L * (2/6) = 1/3;

              第三个TextView的实际宽度为: 1-2L * (3/6) = 0;

     所以实际上我们在布局文件中若按照此比例分配的话,只能看到第一、二两个控件,第三个控件无分配空间。

     可以再练习一下:

     比例2:3:4    得到的实际宽度应该为5/9, 3/9, 1/9。 代码比较简单就不贴了,加强理解更应该运用在实例项目中。     

  

3、结语

    LinearLayout 的weight确实比较有趣,理解起来也不难。LinearLayout还有比较坑的地方就是gravity的使用,这个属性也是比较有意思。不过若要使用这个属性布局,还不如直接使用RelativeLayout布局了。

猜你喜欢

转载自blog.csdn.net/rx_780/article/details/80467074
今日推荐