Вы знаете, как добиться такого же эффекта, как winamp для Android? Я хочу сделать подобное. То есть, когда я нажимаю на listview, всплывающее скользящее выдвижное окно. Но пока я могу показать скользящий ящик в новой активности не в том же самом.
Как я могу достичь в режиме перекрытия. То есть, когда я закрываю ящик, макет показывает спереди, а скользящая рукоятка находится на макете, когда я открываю ящик, он закрывает основной макет.
Любые идеи об этом?
Спасибо!
Шаг # 1: Создайте RelativeLayout
Шаг # 2: Поместите остальную часть пользовательского интерфейса в RelativeLayout
Шаг №3: Поместите SlidingDrawer
в RelativeLayout
как более поздний, тогда остальная часть пользовательского интерфейса (например, в макете XML) будет иметь последний дочерний элемент RelativeLayout
)
Дети из RelativeLayout
(и FrameLayout
) складываются друг над другом на оси Z (то есть на лицевой стороне экрана). Следовательно, позже дети будут перекрывать более ранние. Помещая ваш SlidingDrawer
последним, он будет перекрывать все остальное при открытии.
Спасибо 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>