为什么我的TextView不会居中?

时间:2013-11-13 21:15:30

标签: android android-layout

我正在尝试模拟一个启动器的底座,其中3个文本视图均匀地隔开所有底座...由于某种原因,我无法将我的文本视图中心对齐,在那里父线性布局,可以有人请告诉我这里的问题是什么?

这是我在XML中的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_frame"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#FFFFFF" >

    <LinearLayout
        android:id="@+id/footer"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#99000000"
        android:paddingBottom="20dp"
        android:paddingTop="20dp" >

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

             <TextView
                 android:layout_width="100dp"
                 android:layout_height="100dp"
                 android:layout_gravity="center_horizontal"
                 android:background="@drawable/launcher_footer_icon"
                 android:gravity="center"
                 android:text="Internet Browser"
                 android:textColor="#000000"
                 android:textSize="20sp" />

        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <TextView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/launcher_footer_icon"
                android:gravity="center"
                android:text="Flight Tracker"
                android:textColor="#000000"
                android:textSize="20sp" />

        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1">

            <TextView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/launcher_footer_icon"
                android:gravity="center"
                android:text="Airline Info"
                android:textColor="#000000"
                android:textSize="20sp" />

        </LinearLayout>

    </LinearLayout>

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

尝试这一点,我认为你有太多的内部布局..你可以使用layout_weight来实现这一点。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_frame"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/footer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/blue"
        android:orientation="horizontal"
        android:padding="20dp"
        android:weightSum="15.0" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="5.0" >

            <TextView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_centerHorizontal="true"
                android:background="@color/blue"
                android:gravity="center"
                android:text="Internet Browser"
                android:textColor="#000000"
                android:textSize="20sp" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="5.0" >

            <TextView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_centerHorizontal="true"
                android:background="@color/blue"
                android:gravity="center"
                android:text="Flight Tracker"
                android:textColor="#000000"
                android:textSize="20sp" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="5.0" >

            <TextView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_centerHorizontal="true"
                android:background="@color/blue"
                android:gravity="center"
                android:text="Airline Info"
                android:textColor="#000000"
                android:textSize="20sp" />
        </RelativeLayout>
    </LinearLayout>

</RelativeLayout>