Возможен ли макет SlidingDraw поверх макета ListView? - PullRequest
0 голосов
/ 23 декабря 2011

Мне интересно, возможно ли - и, следовательно, как - поместить SlidingDraw поверх listView? Ситуация такова: у меня есть специальный адаптер списка - раздувает макеты и все такое - что создает список. Я хотел бы поставить скользящую ничью над этим списком. Но когда я пытаюсь установить основной макет как XML-файл с кодом SlidingDrawer, я получаю принудительное закрытие, потому что считаю, что он мешает адаптеру. Спасибо за любой совет.

вот основная часть моего кода:

public class BandApp extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //this is where I have a problem
        setContentView(R.layout.main); 

        Activity activity = this;
        activity.setTitle("Title");

        final String[] values = {"(where i put some urls)","@","@","@","@"};

        MyAdapter Adapter = new MyAdapter(this, values);
        setListAdapter(Adapter);

Когда я удаляю setContentView, он работает, когда я его добавляю, он не работает (принудительное закрытие). Но это где XML-макет с SlideDrawer. : / Спасибо за любую помощь

это код xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <SlidingDrawer
     android:id="@+id/drawer"
     android:layout_width="match_parent"
     android:layout_height="match_parent"

     android:handle="@+id/handle"
     android:content="@+id/content">

     <ImageView
         android:id="@id/handle"
         android:layout_width="88dip"
         android:layout_height="44dip" />

     <GridView
         android:id="@id/content"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />

     </SlidingDrawer>
     </LinearLayout>

1 Ответ

0 голосов
/ 23 декабря 2011

Вы определенно можете это сделать, это прекрасно работает в моем приложении.Действительно, в моем случае внутри SlidingDrawer у меня есть GridView.Вот некоторые фрагменты XML-файла:

...
<ListView android:id="@id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@null"
    android:layout_weight="1"
    android:drawSelectorOnTop="false"
    android:focusable="false"
    android:divider="@null"
    android:alwaysDrawnWithCache="true"
    android:layout_marginBottom="30dip"
    />

<SlidingDrawer
     android:id="@+id/drawer"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:handle="@+id/handle"
     android:content="@+id/browse_all_grid_view">

     <Button android:id="@id/handle"
        android:layout_width="fill_parent" 
        android:layout_height="30dip"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="10dip"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:textColor="#ffffffff"
        android:text="Pull out text"/>

     <GridView
         android:id="@+id/browse_all_grid_view"
         android:background="@drawable/background_dark"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent" 
         android:verticalSpacing="2dp"
         android:horizontalSpacing="0dp"
         android:numColumns="2"
         />

</SlidingDrawer>
...
...