android:layout_gravity 在线性布局浅记

在进行UI布局的时候,相信大家会可能经常会用到 android:gravity  和 android:layout_Gravity 这两个属性。

LinearLayout有两个非常相似的属性:

android:gravity与android:layout_gravity。

 

他们的区别在于:

 

android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.

android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置. 

 

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

而今天在代码中发现奇怪现象,可能之前没注意到或者细节没注意到吧。先贴代码:

    <LinearLayout  
       xmlns:android="http://schemas.android.com/apk/res/android"  
        android:orientation="vertical"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent">  
        <EditText  
            android:layout_width="wrap_content"  
            android:gravity="center"  
            android:layout_height="wrap_content"  
            android:text="one"  
            android:layout_gravity="right"/>  
    </LinearLayout>  
图片:


正如我们所看到的,在EditText中,其中的文字已经居中显示了,而EditText组件自己也对齐到了LinearLayout的右侧。

这个相信大家都可以理解,而

    <LinearLayout  
       xmlns:android="http://schemas.android.com/apk/res/android"  
        android:orientation="horizontal"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent">  
        <EditText  
            android:layout_width="wrap_content"  
            android:gravity="center"  
            android:layout_height="wrap_content"  
            android:text="one"  
            android:layout_gravity="right"/>  
    </LinearLayout>  
图片:

而EditText组件自己就不能在对齐到了LinearLayout的右侧。

 android:orientation="horizontal"  就不能也对齐到了LinearLayout的右侧。

为什么会这样设计,暂时不知道。问题先记着。算是提醒自己多动手,多注意细节东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值