Android对齐布局中心

时间:2013-11-14 14:24:49

标签: android android-layout relativelayout centering

我试图在ActionBar和Bottom布局之间使用LOGO和TEXT对齐中心。 像this

一样

我尝试这样做,但它不能正常工作。它使用scree中心的徽标进行布局。它看起来像this

有人知道misteke在哪里吗? 我的代码:

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

//MainLayout
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="text" >

//LOGO Layout
<RelativeLayout
    android:id="@+id/relativeLayout0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:gravity="center_vertical|center_horizontal|center" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="@dimen/mainlogo_height"
    android:src="@drawable/gerb_big" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="17dp"
    android:gravity="center"
    android:text="text"
    android:textColor="#900000"
    android:textSize="@dimen/OA_size" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="text"
    android:textColor="#900000"
    android:textSize="@dimen/NU_size" />

</RelativeLayout>

//Bottom Layout
<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:layout_centerInParent="false"
    android:layout_centerVertical="true"
    android:gravity="bottom|center_horizontal|center" >

    <ImageButton
        android:id="@+id/home"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:background="#ffffff"
        android:onClick="home_Click"
        android:scaleType="fitXY"
        android:src="@drawable/home" />

    <ImageButton
        android:id="@+id/news"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_toRightOf="@+id/home"
        android:background="#ffffff"
        android:onClick="news_Click"
        android:scaleType="fitXY"
        android:src="@drawable/database" />

    <ImageButton
        android:id="@+id/anons"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_toRightOf="@+id/news"
        android:background="#ffffff"
        android:onClick="annons_Click"
        android:scaleType="fitXY"
        android:src="@drawable/calendar" />

    <ImageButton
        android:id="@+id/faculty"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_toRightOf="@+id/anons"
        android:background="#ffffff"
        android:onClick="faculty_Click"
        android:scaleType="fitXY"
        android:src="@drawable/category" />

</RelativeLayout>



</RelativeLayout>
</android.support.v4.widget.DrawerLayout>

3 个答案:

答案 0 :(得分:13)

创建一个LinearLayout,它是根布局的子项,并包装所有其他布局然后更改

<RelativeLayout
android:id="@+id/relativeLayout0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center" >

<RelativeLayout
android:id="@+id/relativeLayout0"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center_vertical|center_horizontal|center" >

或将android:layout_above="@+id/relativeLayout1"添加到您的LOGO布局

答案 1 :(得分:1)

这是我的代码和我的布局。我希望这就是你所需要的。 : -

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@drawable/square_empty" >

    <RelativeLayout
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@drawable/square_empty" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_below="@+id/textView1"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="14dp"
            android:text="TextView" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="14dp"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="22dp"
            android:text="TextView" />
    </RelativeLayout>
</RelativeLayout>

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/ic_launcher" />

<ImageButton
    android:id="@+id/imageButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageButton1"
    android:layout_toRightOf="@+id/imageButton1"
    android:src="@drawable/ic_launcher" />

<ImageButton
    android:id="@+id/imageButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageButton2"
    android:layout_toRightOf="@+id/imageButton2"
    android:src="@drawable/ic_launcher" />

<ImageButton
    android:id="@+id/imageButton4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/imageButton3"
    android:layout_toRightOf="@+id/imageButton3"
    android:src="@drawable/ic_launcher" />

这是快照: -

enter image description here

答案 2 :(得分:0)

尝试将android:layout_above=@id/relativeLayout1添加到徽标布局中。