android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分

本文深入探讨了Android布局中gravity与layout_gravity属性的区别,包括它们如何影响视图的位置与内容对齐,以及在实际开发中的应用。通过实例展示了如何在XML布局文件与Java代码中灵活使用这些属性,实现更加精确的视图定位与内容对齐。此外,还对比了padding与layout_margin在调整视图内部元素与外部边界的差异,提供了宝贵的开发技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分
android:gravity / android:layout_Gravity区别:
android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。

android:layout_gravity 是用来设置该view相对与父view 的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。

在实践中,发现有时会同时使用android:gravity和 android:layout_Gravity:
<TextView
        android:id="@+id/text_displayed"
        android:gravity="center"         // 设置文字在TextView的居中位置
        android:visibility="invisible"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center" // 设置TextView位置(FrameLayout):屏幕居中
        />

而Java代码中设置android:gravity是极其简单的,setGravity函数搞定了:
//此处相当于布局文件中的Android:gravity属性    
button.setGravity(Gravity.CENTER);

但设置android:layout_margin就麻烦些:
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(
           LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
//此处相当于布局文件中的Android:layout_gravity属性    
lp.gravity = Gravity.CENTER;
mTextDisplayed.setLayoutParams(lp);


android:padding / android:layout_margin区别:
android:padding 是指该view里面的内容与view边界的距离,例如TextView里面的文字离TextView控件边界的数值;

android:layout_margin 是指该view于父view边界的距离,例如SeekBar与父view的四周边界。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值