我在TextView
内部有一个简单的RelativeLayout
。
我想将TextView
的结束边定位到RelativeLayout
的中心,如下图所示
我找到了类似android:layout_toStartOf=...
示例:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toStartOf=...
/>
</RelativeLayout>
但是这只会使结束边缘与某事物的开始对齐。 (不能用于将末端边缘对齐到布局的中心)。
答案 0 :(得分:1)
您可以在View
内居中创建一个虚拟RelativeLayout
,然后将TextView
左对齐:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:id="@+id/center_anchor"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/center_anchor"
android:text="hello world" />
</RelativeLayout>
您还可以查看支持基于百分比的维度和边距的PercentRelativeLayout
。这意味着您可以指定50%的右边距。
答案 1 :(得分:1)
注意:已经有类似的问题和答案here。
您需要在RelativeLayout
中添加一个小部件,您可以将其用作TextView
的位置参考。水平居中的空Space
小部件(0dp x 0dp)适用于此。
<RelativeLayout>
<!-- Empty space widget (0x0 dp) centered horizontally -->
<Space
android:id="@+id/spacer"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_centerHorizontal="true"
android:visibility="invisible"/>
<!-- TextView to left of the spacer-->
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/spacer"
android:text="awesome text!"/>
</RelativeLayout>
答案 2 :(得分:1)
你可以使用PercentRelativeLayout
来做到这一点<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@android:color/white"
android:text="TextView"
android:textColor="@android:color/black"
app:layout_marginRightPercent="50%" />