如何将RelativeLayout中textView内的文本与兄弟对齐

时间:2016-04-17 22:01:03

标签: android android-layout

我的代码低于哪个中心在TextView中对齐文本但是它是一个黑客。请参阅我之间的评论。

有没有办法可以达到相同的效果,但没有黑客攻击?

请注意我希望 text 与中心对齐wrt。屏幕与兄弟的宽度无关(在'action_back'下面的情况下)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<include android:id="@+id/action_back"
    layout="@layout/action_back"
    android:layout_height="match_parent"
    android:layout_width="wrap_content" />

<!--
    TODO:
    hack TextView width is set as match_parent to
    make it center align with Screen dimensions,
    which overlaps with back btn. I could
    not find another way to center it.
-->
<TextView
    android:id="@+id/title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Title"
    android:layout_centerInParent="true"
    android:gravity="center"
    android:textColor="#000000"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textSize="17sp"
    android:textStyle="bold" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:1)

您是否真的尝试将TextView宽度保持为

android:layout_width="wrap_content"

android:layout_centerInParent="true"

一起?因为除了

  

机器人:layout_width = “match_parent”

在TextView中我看不到任何问题。

如果您的标题文字很长,它会与您的按钮重叠,有一点需要注意。为了纠正它,

android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:layout_toRightOf="@id/action_back"

答案 1 :(得分:0)

如果您将cat 'list.txt' | while IFS= read -r line; do echo -n $line && links -dump $line done 设置为layout_widthwrap_content,则应该能够将文本置于相对布局中心。

编辑: 也许是这样的:

android:layout_centerHorizontal="true"

答案 2 :(得分:0)

只需交换标签的位置即可。休息似乎很好。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Title"
        android:gravity="center"
        android:textColor="#000000"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="17sp"
        android:textStyle="bold" />

    <include android:id="@+id/action_back"
        layout="@layout/action_back"
        android:layout_height="match_parent"
        android:layout_width="wrap_content" />

    </RelativeLayout>