Android文字不会与中心对齐

时间:2012-08-06 14:37:47

标签: android android-layout

我在TextView中居中Buttons和3 RelativeLayout,其中所有三个中的文字左对齐,父中心为最左边的一行。

我已尝试更改gravityTextView和布局的Buttons,但没有任何效果,我感到困惑,因为我从未见过这样的Android对齐文字之前。

我希望Button文字在每个Button中居中,而顶部文字则居中对齐。

它的外观图像在这里:http://i.stack.imgur.com/9lHEd.png

这是我的xml:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_margin="20dp"
    android:gravity="center_horizontal"
    android:text="@string/greeting"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<Button
    android:id="@+id/startQuizButton"
    android:layout_width="280dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:onClick="@string/startQuiz"
    android:text="@string/start_quiz" />

<Button
    android:id="@+id/lessonsButton"
    android:layout_width="280dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/startQuizButton"
    android:layout_centerHorizontal="true"
    android:onClick="@string/startLesson"
    android:text="@string/lessonsString" />

<Button
    android:id="@+id/viewAllButton"
    android:layout_width="280dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/lessonsButton"
    android:layout_centerHorizontal="true"
    android:onClick="@string/showAll"
    android:text="@string/view_all" />

4 个答案:

答案 0 :(得分:5)

我添加了RelativeLayout,因为您将其作为父级布局。但是,我不确定是否需要它。查看以下代码是否符合您的要求。

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="Greetings" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Start Quiz" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Lessons" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="View all questions" />
    </LinearLayout>

</RelativeLayout>

enter image description here

答案 1 :(得分:2)

添加按钮标签android:gravity =“center”...看看它是否有效..

答案 2 :(得分:0)

如果你想集中一些文字,那么你也可以这样做:

    <TextView
    android:text="Quantity"
    android:textSize="34sp"
    android:textColor="#ffffff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="sans-serif-light"
    android:layout_centerHorizontal="true"
    android:paddingTop="10dp"/>

这里我已经改变了使用android:layout_centerHorizontal="true"使用布尔值为true或false的horozontal,通过使其为真,它将自动以所有设备为中心 希望有所帮助

答案 3 :(得分:0)

您需要将布局的宽度和高度设置为fill_parent,一切都会正常工作

<TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:text="your text" />