android:layout_gravity&android:gravity
刚才在修改布局时,在gravity和layout_gravity两者有点迷糊,所以总结一下,教训一下自己。
- 搞清楚两个属性的意义
- 知道两个属性应用场景
意义
- android:layout_gravity:表示组件自身在父组件中的位置
- android:gravity:表示组件的子组件在组件中的位置
应用场景
android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,android:gravity=”left”和android:text=”提交”,这时Button上的文字“提交”将会位于Button的左部。
android:layout_gravity:这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。同样,当我们在Button按钮控件中设置android:layout_gravity=”left”属性时,表示该Button按钮将位于界面的左部。
注意
- layout_gravity失效
原因:外层LinearLayout缺少android:orientation="vertical" 属性
- 总结
当作为父layout的LinearLayout的属性为androidrientation="vertical" 的时候,android:layout_gravity="?"这里设为横向的时候才能生效。比如:left,right,center_horizontal等
当作为父layout的LinearLayout的属性为androidrientation="horizental" 的时候,android:layout_gravity="?"这里设为纵向的时候才能生效。比如:top,bottom,center_vertical等;