Android:RelativeLayout中两个TextView间设置20dp间距的方法
在RelativeLayout中给两个TextView设置20dp间距的解决方案
嘿,这个问题太常见啦!既然你已经把TextView 2放在了TextView 1的下方,那加20dp间距其实有几种很直观的做法,我给你详细说说:
方法一:给下方的TextView设置layout_marginTop
这是最直接的方式——因为TextView 2本来就依赖TextView 1的位置,直接给它添加上方外边距就能实现间距:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView 1" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"/> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView 2" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:layout_marginTop="20dp"/> <!-- 核心就是这行 --> </RelativeLayout>
方法二:给上方的TextView设置layout_marginBottom
效果和方法一完全一样,只是换了个对象设置外边距,看你个人习惯:
<TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView 1" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginBottom="20dp"/> <!-- 给上方TextView加底部外边距 --> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView 2" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true"/>
进阶技巧:使用 dimens.xml 统一管理间距
如果你的项目里有很多类似的间距需求,建议把20dp定义在res/values/dimens.xml里,方便后续统一修改:
<!-- res/values/dimens.xml --> <resources> <dimen name="text_view_vertical_spacing">20dp</dimen> </resources>
然后在布局里引用这个值:
android:layout_marginTop="@dimen/text_view_vertical_spacing"
这样以后要调整所有类似的间距,只需要改dimens.xml里的数值就行,不用一个个布局文件去改~
内容的提问来源于stack exchange,提问作者Siddarth Nyati
相关产品推荐
相关产品推荐

