使用 viewpager 实现滑动抽屉,滑动抽屉位于 viewpager 上

Posted

技术标签:

【中文标题】使用 viewpager 实现滑动抽屉,滑动抽屉位于 viewpager 上【英文标题】:Impliment Slidingdrawer with viewpager where slidingdrawer resides on the viewpager 【发布时间】:2013-09-07 02:43:17 【问题描述】:

我想显示一个带有slidingdrawer的Viewpager。Viewpager用于滚动图像,在该viewpager的顶部我想放置一个滑动抽屉(从上到下)。

我附上了我的示例代码。如果您对如何实现此屏幕有任何想法,请帮助我。

android:id="@+id/linearLayout1"
android:layout_
android:layout_
android:orientation="vertical" >

<TextView
    android:id="@+id/TextView01"
    android:layout_
    android:layout_
    android:layout_marginLeft="10dip"
    android:text="Infra2Apps"
    android:textColor="#ffffff"
    android:textSize="9pt" />

<TextView
    android:id="@+id/textView1"
    android:layout_
    android:layout_
    android:layout_marginLeft="6dip"
    android:text="Sales and Marketing Resources"
    android:textColor="#ffffff"
    android:textStyle="bold"
    android:typeface="sans" />

<LinearLayout
    android:id="@+id/handle"
    android:layout_
    android:layout_ >

    <ImageView
        android:id="@+id/imageView"
        android:layout_
        android:layout_
        android:src="@drawable/arrow" />
</LinearLayout>

<ImageView
    android:id="@+id/content"
    android:layout_
    android:layout_
    android:background="#FF0000"
    android:src="@drawable/love" />

<android.support.v4.view.ViewPager
    android:id="@+android:id/viewpager"
    android:layout_
    android:layout_ />

<ImageView
    android:id="@+id/settings"
    android:layout_
    android:layout_
    android:src="@drawable/settings" />

<ImageView
    android:id="@+id/search"
    android:layout_
    android:layout_
    android:src="@drawable/searchbutton" />

<ImageView
    android:id="@+id/refresh"
    android:layout_
    android:layout_
    android:src="@drawable/refreshrest" />

<ImageView
    android:id="@+id/question"
    android:layout_
    android:layout_
    android:src="@drawable/questionmark" />

【问题讨论】:

【参考方案1】:

使用框架布局并使用固定宽度和高度的抽屉。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_ >

    <LinearLayout
        android:id="@+id/middle_ll"
        android:layout_
        android:layout_
        android:orientation="horizontal" >

        <android.support.v4.view.ViewPager
            android:id="@+id/view_pager"
            android:layout_
            android:layout_ />
    </LinearLayout>

    <SlidingDrawer
        android:id="@+id/option_menu"
        android:layout_
        android:layout_
        android:layout_alignParentRight="true"
        android:background="@android:color/transparent"
        android:content="@+id/content"
        android:handle="@+id/handle"
        android:rotation="180" >

        <RelativeLayout
            android:id="@+id/content"
            android:layout_
            android:layout_
            android:layout_alignParentRight="true"
            android:orientation="vertical"
            android:rotation="180" >

            <include
                android:id="@+id/menu_pop_down"
                android:layout_
                android:layout_
                android:layout_alignParentRight="true"
                layout="@layout/menu_layout"
                android:visibility="visible" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/handle"
            android:layout_
            android:layout_
            android:rotation="180" >

            <ImageView
                android:layout_
                android:layout_
                android:layout_alignParentRight="true"
                android:src="@drawable/date_picker_icon" />
        </RelativeLayout>
    </SlidingDrawer>

</FrameLayout>

【讨论】:

以上是关于使用 viewpager 实现滑动抽屉,滑动抽屉位于 viewpager 上的主要内容,如果未能解决你的问题,请参考以下文章

如何在 View Pager 中使用滑动抽屉?

如何实现一个滑动整个活动内容的 Android 导航抽屉?

从右到左滑动抽屉菜单

Android:3 级滑动抽屉

滑动抽屉中的缓动动画

导航抽屉 - 禁用滑动