1

我在顶部有一组按钮,在底部有一组按钮,我希望 imageview 的整个中间空间显示图像。但问题是图像与底部的按钮组重叠。我尝试更改权重,使用 0dp,重新排列布局.. 但没有任何效果。

这是我的xml,

<?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:gravity="center_horizontal"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/relativeLayout1"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/topButtons"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/questionBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minHeight="20dp"
            android:text="Question" />

        <Button
            android:id="@+id/solutionBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minHeight="20dp"
            android:text="Solution" />

        <Button
            android:id="@+id/resetBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minHeight="20dp"
            android:text="Reset" />
    </LinearLayout>

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="center" />
</LinearLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:paddingLeft="5dp" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/btnA"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/choice_button"
            android:text=" A " />

        <Button
            android:id="@+id/buttonB"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" B " />

        <Button
            android:id="@+id/buttonC"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" C " />

        <Button
            android:id="@+id/buttonD"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" D " />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" >

        <Button
            android:id="@+id/nextBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Next" />
    </LinearLayout>
</RelativeLayout>

4

2 回答 2

3

稍微清理一下你的xml。它仍然可以改进,但这可以解决问题。为您的顶部和底部布局设置 id,并将您设置ImageView为低于顶部和高于底部。

 <?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:gravity="center_horizontal"
android:orientation="vertical" >

   <LinearLayout
       android:id="@+id/topButtons"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal" >

       <Button
           android:id="@+id/questionBtn"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:minHeight="20dp"
           android:text="Question" />

       <Button
           android:id="@+id/solutionBtn"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:minHeight="20dp"
           android:text="Solution" />

       <Button
           android:id="@+id/resetBtn"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:minHeight="20dp"
           android:text="Reset" />
   </LinearLayout>





    <LinearLayout
        android:id="@+id/rlBottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true">

        <Button
            android:id="@+id/btnA"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#ff0000"
            android:text=" A " />

        <Button
            android:id="@+id/buttonB"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" B " />

        <Button
            android:id="@+id/buttonC"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" C " />

        <Button
            android:id="@+id/buttonD"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" D " />

        <Button
            android:id="@+id/nextBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Next" />

    </LinearLayout>






<ImageView
        android:layout_below="@+id/topButtons"
        android:layout_above="@+id/rlBottom"
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="center" />
</RelativeLayout>
于 2013-06-20T14:28:10.653 回答
2

复制和粘贴 ,

       <?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:gravity="center_horizontal"
          android:orientation="vertical" >

<LinearLayout
    android:id="@+id/topButtons"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/questionBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minHeight="20dp"
        android:text="Question" />

    <Button
        android:id="@+id/solutionBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minHeight="20dp"
        android:text="Solution" />

    <Button
        android:id="@+id/resetBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minHeight="20dp"
        android:text="Reset" />
</LinearLayout>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/topButtons"
    android:layout_above="@+id/belowbutons"
    android:scaleType="center" />

<RelativeLayout
    android:id="@+id/belowbutons"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:paddingLeft="5dp" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/btnA"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/choice_button"
            android:text=" A " />

        <Button
            android:id="@+id/buttonB"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" B " />

        <Button
            android:id="@+id/buttonC"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" C " />

        <Button
            android:id="@+id/buttonD"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" D " />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" >

        <Button
            android:id="@+id/nextBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Next" />
    </LinearLayout>
</RelativeLayout>

于 2013-06-20T14:32:50.553 回答