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,系统是采用了另外一套计算占用空间大小的算法的
即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,系统是采用了另外一套计算占用空间大小的算法的
相关文章推荐
- Fragment栈回退和传参方式
- Android简单实现画图功能
- Android studio使用基础
- Android中的Binder机制的简要理解
- Android EventBus 3.0 框架
- Android 命名规范 (提高代码可以读性)
- 解决Android Studio中调试总出现waiting for adb问题
- Android客户端性能优化
- Android轻松画出触摸轨迹
- 使用android studio过程中遇到的异常
- android动态换肤系列4——从apk文件中获取Resources对象(下)
- Android中自定义水平进度条样式之黑色虚线
- AndroidStudio(2.0 Beta 6) 如何将新建的工程放到GitHub上
- 在Android Studio中隐藏标题出现BUG
- Android Fragment嵌套使用存在的一些BUG
- 解决Android SurfaceView绘制触摸轨迹闪烁问题的方法
- 在Android studio下使用git
- Android 记录异常 并重启
- Android学习笔记之java01(更换账号)
- Git查看、删除、重命名远程分支和tag