您的位置:首页 > 移动开发 > Android开发

android view组件中一些属性的疑问

2016-03-01 10:40 281 查看
1.

即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。

 

2

android:paddingLeft和android:layout_marginLeft区别:

当你在LinearLayout中分别设置 android:layout_marginLeft="52dip"和android:paddingLeft="52dip"的时候,也许你在及时显示界面看到的效果是一样的,但是这两个属性是有区别的,android:layout_marginLef是设置整个布局离左边的距离是52像素,而android:paddingLeft是设置布局里面的内容距离左边是52像素,这个是可以验证的哦,你对一个EditText来分别设置这两个属性,你会发现当设android:paddingTop="20dip"的时候在界面上跟本就没什么效果,但是输入内容就看出来

 

3

当android:layout_width="match_parent"的时候,如果设置了weight属性,那么根据它的weight值(可以理解为优先级)来占据空间,而且这个值是越小,占的空间越大,因此此时可以理解为优先级.

比如:按钮1和按钮2的width属性都是match_parent,如果按钮1的weight= 1 按钮2的为weight = 2  那么按照优先级 按钮1先占据,按钮2后占据. 大小比例为

按钮1 = 2/(1+2) ,按钮2 = 1/(1+2) 

如果按钮1的weight我们设置为1000,按钮2的weight设置为1 那么按钮2 几乎全部占据了所有空间!

总结:

要正确使用weight,不要再去纠结

android:layout_width="match_parent"

 android:layout_width="wrap_content" 两种情况下该如何设置weight.因为这样设置根本就是错误的用法.

正确的用法是:

先设置 android:layout_width="0dp" 或者android:layout_height="0dp"

然后再去调配权重

我们如果在某个方向上使用了weight ,那么我们必须在对应的方向上将width/heigh设置为0dp. 它告诉了我们设置为0dp是因为使用weight,系统是采用了另外一套计算占用空间大小的算法的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: