Проблема с расположением выдвижных ящиков в Android

#android #layout #slidingdrawer

#Android #макет #slidingdrawer

Вопрос:

привет, я поместил выдвижной ящик в свое приложение

но это занимает место, как на рисунке ниже, если ящик открыт

введите описание изображения здесь

и если он близок, то это выглядит как

введите описание изображения здесь

введите описание изображения здесь

Мой макет ниже

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@ id/LinearLayout01"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:gravity="bottom" android:background="@drawable/androidpeople">
    <LinearLayout
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:orientation="vertical">
    <Button android:id="@ id/Button01" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content">
        </Button>
        <Button android:id="@ id/Button02"
             android:layout_width="wrap_content" 
             android:layout_height="wrap_content" 
             android:text="Content">
         </Button>
        <Button android:id="@ id/Button03" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content">
        </Button>
        <Button android:id="@ id/Button01" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content">
        </Button>
        <Button android:id="@ id/Button02"
             android:layout_width="wrap_content" 
             android:layout_height="wrap_content" 
             android:text="Content">
         </Button>
        <Button android:id="@ id/Button03" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content">
        </Button>

    </LinearLayout>
    <SlidingDrawer 
        android:layout_width="wrap_content" 
        android:id="@ id/SlidingDrawer" 
        android:handle="@ id/slideHandleButton" 
        android:content="@ id/contentLayout" 
        android:padding="10dip" 
        android:layout_height="250dip">
        <Button android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:id="@ id/slideHandleButton" 
            android:background="@drawable/closearrow">
        </Button>
        <LinearLayout android:layout_width="wrap_content" 
            android:id="@ id/contentLayout" 
            android:orientation="vertical" 
            android:gravity="center|top" 
            android:padding="10dip" 
            android:background="#C0C0C0" 
            android:layout_height="wrap_content">


        <Button android:id="@ id/Button01" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content">
        </Button>
        <Button android:id="@ id/Button02"
             android:layout_width="wrap_content" 
             android:layout_height="wrap_content" 
             android:text="Content">
         </Button>
        <Button android:id="@ id/Button03" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content">
        </Button>
</LinearLayout>
    </SlidingDrawer>
</LinearLayout>
  

Моя проблема в том, что даже ящик закрыт, он занимает много места, и я хочу убрать его, чтобы первая кнопка в верхней части экрана могла опуститься

Ответ №1:

попробуйте изменить свой самый внешний макет на relativelayout . это должно позволить скользящему макету перекрывать linearlayout над ним, когда он расширяется.

Комментарии:

1. Эй, это работает нормально, я не думал использовать относительную компоновку, спасибо

2. Обычно рекомендуется использовать макет фрейма в качестве корневого макета.