Состояние Android SlidingDrawer по умолчанию? - PullRequest
2 голосов
/ 25 августа 2010

У меня сейчас проблемы со SlidingDrawer. Я хочу, чтобы оно закрывалось при запуске приложения, чтобы оно не мешало. Однако определено, что он будет открыт, несмотря на то, что slide.close() в onCreate () моей деятельности. Кажется, он будет закрыт, если я использую slide.animateClose() вместо этого, но это замедляет загрузку моего приложения.

Как сделать его закрытым по умолчанию?

Приветствия

    <SlidingDrawer 
    android:layout_width="fill_parent" 
    android:padding="4dp" 
    android:id="@+id/Mnu_Slide" 
    android:content="@+id/Mnu_SlideCont" 
    android:handle="@+id/Mnu_SlideBtn" 
    android:layout_gravity="bottom" 
    android:layout_height="112dp">
    <ImageView 
        android:id="@id/Mnu_SlideBtn" 
        android:src="@drawable/handle1" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" />
    <LinearLayout 
        android:id="@id/Mnu_SlideCont" 
        android:layout_height="wrap_content" 
        android:layout_width="fill_parent" 
        android:orientation="horizontal" 
        android:gravity="center_vertical|center_horizontal" android:background="@drawable/tray1xml">
            <ImageView 
                android:id="@+id/Mnu_Chem" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:src="@drawable/icon" />
            <ImageView 
                android:id="@+id/Mnu_Physics" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:src="@drawable/physicon" />
    </LinearLayout> 
</SlidingDrawer>

1 Ответ

2 голосов
/ 07 сентября 2010

Я не вижу ничего явно неправильного в этом. Он выглядит очень похоже на мой собственный SlidingDrawer код (который я включил в этот вопрос ) и который всегда начинается с закрытия, без необходимости явно закрывать его в методе onCreate().

Я подозреваю, что это может иметь какое-то отношение к тому, что находится внутри этого представления: случайно ли это в LinearLayout? Попробуйте изменить его на RelativeLayout. Документы для SlidingDrawer немного расплывчаты, но говорят:

SlidingDrawer должен использоваться как наложение внутри макетов. Это означает SlidingDrawer должен использоваться только внутри FrameLayout или RelativeLayout, например.

Надеюсь, это поможет.

...