Выдвижной ящик в том же макете

1

Вы знаете, как добиться такого же эффекта, как winamp для Android? Я хочу сделать подобное. То есть, когда я нажимаю на listview, всплывающее скользящее выдвижное окно. Но пока я могу показать скользящий ящик в новой активности не в том же самом.

Как я могу достичь в режиме перекрытия. То есть, когда я закрываю ящик, макет показывает спереди, а скользящая рукоятка находится на макете, когда я открываю ящик, он закрывает основной макет.

Любые идеи об этом?

Спасибо!

Теги:
slidingdrawer

2 ответа

11

Шаг # 1: Создайте RelativeLayout

Шаг # 2: Поместите остальную часть пользовательского интерфейса в RelativeLayout

Шаг №3: Поместите SlidingDrawer в RelativeLayout как более поздний, тогда остальная часть пользовательского интерфейса (например, в макете XML) будет иметь последний дочерний элемент RelativeLayout)

Дети из RelativeLayoutFrameLayout) складываются друг над другом на оси Z (то есть на лицевой стороне экрана). Следовательно, позже дети будут перекрывать более ранние. Помещая ваш SlidingDrawer последним, он будет перекрывать все остальное при открытии.

  • 0
    еще раз вы хозяин, большое спасибо
0

Спасибо CommonsWare, что вы мне помогли, у меня нет большой репутации, чтобы проголосовать. Вот мой образец макета...

Я использовал it.sephiroth.slider.widget.MultiDirectionSlidingDrawer как SlidingDrawer

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="match_parent">
<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_marginLeft="82dp"
        android:layout_alignTop="@+id/button_open">

    <Button
            android:id="@+id/button_open"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="@string/open"
            android:visibility="visible" />
    <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New EditText"
            android:id="@+id/editText" android:layout_alignParentLeft="true" android:layout_marginLeft="114dp"
            android:layout_alignParentTop="true" android:layout_marginTop="6dp"/>
</RelativeLayout>

<it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer
        xmlns:panel="http://schemas.android.com/apk/res/it.sephiroth.demo.slider"
        android:id="@+id/drawer"

        panel:direction="topToBottom"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        panel:handle="@+id/handle"
        panel:content="@+id/content">
    <include
            android:id="@id/content"
            layout="@layout/pen_content" />
    <ImageView
            android:id="@id/handle"
            android:layout_width="wrap_content"
            android:layout_height="40px"
            android:src="@drawable/sliding_drawer_handle_bottom" />
</it.sephiroth.demo.slider.widget.MultiDirectionSlidingDrawer>
</RelativeLayout>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню