Parent中的中心会覆盖底部元素

时间:2013-01-29 15:30:58

标签: android android-layout

我有一个UI,以及此用户界面中的一些元素。我希望元素始终位于中心垂直。问题在于,当我设置layout_centerInParent时,它会居中,但会覆盖底部元素。我不想要它。这就是现在的样子:

enter image description here

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"
android:background="#FFFFFF"     >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="@dimen/top_mr_image"
    android:src="@drawable/temp" />
<LinearLayout 
    android:id="@+id/r1"
    android:layout_width="match_parent"
    android:layout_height="80dp"
    android:layout_alignParentLeft="true"
    android:layout_centerInParent="true"
    android:background="@drawable/r1bg"
    android:layout_marginRight="35dp"
    android:layout_marginBottom="10dp"
    > 
    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:text="Start"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="@dimen/txt_r4_size" />
 </LinearLayout>
 <LinearLayout 
    android:id="@+id/r2"
    android:layout_width="match_parent"
    android:layout_height="80dp"
    android:layout_alignParentLeft="true"
    android:layout_centerInParent="true"
    android:layout_below="@+id/r1"
    android:background="@drawable/r2bg"
    android:layout_marginRight="25dp"
    android:layout_marginBottom="10dp"
    > 
    <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:text="HOW TO"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="@dimen/txt_r4_size" />
    </LinearLayout>
   <LinearLayout 
    android:id="@+id/r3"
    android:layout_width="match_parent"
android:layout_height="80dp"
    android:layout_alignParentLeft="true"
    android:layout_centerInParent="true"
    android:layout_below="@+id/r2"
    android:background="@drawable/r3bg"
    android:layout_marginRight="15dp"
    android:layout_marginBottom="10dp"
    > 
    <TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:text="Support"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="@dimen/txt_r4_size" />
 </LinearLayout>

<RelativeLayout
    android:layout_marginTop="20dp"
    android:id="@+id/r4"
    android:layout_width="fill_parent"
    android:layout_height="55dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="@drawable/r4bg"
    android:clickable="true"
    android:onClick="onClick" >

<TextView
    android:id="@+id/textView11"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="10dp"
    android:text="You have:"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="@dimen/txt_r4_size" />

    <TextView
        android:id="@+id/textView12"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/textView11"
        android:layout_marginLeft="20dp"
        android:text="0"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="30dp" />
    <TextView
        android:id="@+id/textView13"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/textView12"
        android:layout_marginLeft="20dp"
        android:text="CCCCCC"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="@dimen/txt_r4_size" />
</RelativeLayout>

我希望它始终位于垂直中心不要覆盖一些顶部和底部元素。怎么做到这一点?我不想为不同的屏幕分辨率对其进行硬编码。

1 个答案:

答案 0 :(得分:0)

如果您不希望底部项重叠,则需要使它们相对于垂直居中的最高视图。设置下方对齐,使它们不会重叠。