2010-08-25 8 views
2

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

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

Приветствия

<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> 

ответ

2

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

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

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

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

Смежные вопросы