RelativeLayout中的水平居中TextView不起作用

时间:2017-02-11 13:04:01

标签: android android-layout

我无法在中心的RelativeLayout中放置我的textview。我添加了这个参数

android:layout_centerHorizontal="true"
android:layout_centerInParent="true"

但它没有帮助。

我的布局

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/content_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?android:attr/colorBackground"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="ru.myseolife.a99torrentsalpha2.MainActivity"
    android:gravity="center"
    tools:showIn="@layout/app_bar_main"
    >

    <TextView
        android:id="@+id/nothing_found"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true"
        android:text="@string/nothingfound"
        />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <LinearLayout
        android:id="@+id/linlaHeaderProgress"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:visibility="gone"
        >

        <ProgressBar
            android:id="@+id/progressBar"
            style="@style/Widget.AppCompat.ProgressBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
    </LinearLayout>
</RelativeLayout>

有人知道它能是什么吗? TextView垂直居中,但水平显示在左侧。

4 个答案:

答案 0 :(得分:1)

TextView layout_widthmatch_parent如果你想保留它并将其显示为居中,则需要将文本置于视图中心而不是TextView

因此,在android:gravity="center"中使用TextView,或者可以TextView的宽度为wrap_content,并保持原样。

因为这是一个简单的答案,我会告诉你一个技巧&gt;去 设置&gt;开发人员选项&gt;并勾选显示布局边界,然后您可以检查视图边界并了解视图边界的实际位置!

答案 1 :(得分:0)

TextView的宽度应为“wrap_content”

答案 2 :(得分:0)

添加:

android:gravity="center_horizontal"

答案 3 :(得分:0)

添加

android:gravity="center" 

到您的textview,这将使文本居中,因为您将宽度设置为匹配父级。