Android布局重叠

标签 android

我在顶部有一组按钮,在底部有一组按钮,我想要 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>

最佳答案

稍稍清理了您的 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>

关于Android布局重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17216145/

相关文章:

android - 如何确定软键盘是否显示在屏幕上 - 使用 monkeyrunner

java - 按钮功能

android - 为什么 FocusManager 在 AlertDialog 中不起作用?

java - android espresso 测试在文本匹配中总是失败

android - 制作自定义菜单,项目数量未知

android - Git 用于控制 Android 项目的版本

java - ADT eclipse : Failed to Create The Java Virtual Machine

java - 如何从 webview 获取当前 url?

android - 为什么我的 Gradle APK 比 Ant 的大?

android - 将 Xcode 键绑定(bind)导入 IntelliJ IDEA