2016-01-09 2 views
4

У меня есть следующий MainActivity макетаНе удается перетащить DrawerLayout из ListView

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <FrameLayout 
     android:id="@+id/fragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#EAEAEA" /> 

    <LinearLayout 
     android:id="@+id/navigation_drawer" 
     android:layout_width="260dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="#FFFFFF" 
     android:clickable="true" 
     android:orientation="vertical" > 
    </LinearLayout> 

</android.support.v4.widget.DrawerLayout> 

fragment добавить на FrameLayout содержит ListView. Проблема в том, что я не могу перетащить DrawerLayout с ListView, только если ListView достаточно длинный, чтобы прокручивать (вертикально).

Все работает хорошо для DrawerLayout, я попытался открыть его с помощью openDrawer, и он работает, я не могу открыть его, перетащив его с ListView. Есть ли способ исправить это?

ответ

0

Я думаю, что вы можете решить свою проблему, если вы используете RelativeLayout в своем фрагменте и добавьте ListView в этот макет.

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <ListView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     /> 

     </RelativeLayout> 

Поскольку ListView использует место, которое она нуждается, но на RelativeLayout место ему нужно неясно. Поэтому андроид использует все, что ему дано, в данном случае fill_parent, поэтому он использует всю деятельность.

+0

Не могли бы вы объяснить, почему это должно устранить проблему? – Enve

+0

Спасибо за комментарий! Правильно ли это? –

+0

Я просто попробовал. Не работает. – Enve

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