我想在平板电脑上创建一个类似于 Google Drive 应用程序(下)的额外信息视图。单击信息按钮时,此视图会从包含布局的右侧滑入。另一个例子是带有通知滑出面板的 Google+ 应用程序:. 6Wunderkinder的SlidingLayer几乎可以工作,但不会在“抽屉”后面的视图上淡化半黑色背景,而且我还没有找到另一个这样做的库。
如果有人有任何建议/解决方案,请告诉我!
另外,我已经看过这个问题,而且没有一个答案是正确的。
我想在平板电脑上创建一个类似于 Google Drive 应用程序(下)的额外信息视图。单击信息按钮时,此视图会从包含布局的右侧滑入。另一个例子是带有通知滑出面板的 Google+ 应用程序:. 6Wunderkinder的SlidingLayer几乎可以工作,但不会在“抽屉”后面的视图上淡化半黑色背景,而且我还没有找到另一个这样做的库。
如果有人有任何建议/解决方案,请告诉我!
另外,我已经看过这个问题,而且没有一个答案是正确的。
对于后代,这是这个问题的答案。正如史蒂夫贝内特的建议让我发现的那样,正确的方法是使用两个DrawerLayouts
嵌套,如下所示:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_navigation_bar"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_sidebar"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/fragment_main_content"
android:name="MainContentFragment"
android:layout_height="match_parent"
android:layout_width="match_parent" />
<fragment
android:id="@+id/fragment_sidebar"
android:name="SidebarFragment"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="end" />
</android.support.v4.widget.DrawerLayout>
<fragment
android:id="@+id/fragment_navigation_bar"
android:name="NavigationFragment"
android:layout_height="match_parent"
android:layout_width="300dp"
android:layout_gravity="start" />
</android.support.v4.widget.DrawerLayout>
最里面DrawerLayout
包含 的主要内容Activity
,无论是片段还是其他一些布局组件。fragment_sidebar
是将从右侧滑出的片段。然后,在顶层DrawerLayout
你有fragment_nagivation_bar
左边抽屉ListView
或其他东西的房子。
然后,在 Activity Java 代码中,您有:
mDrawerLayoutLeft= (DrawerLayout) findViewById(R.id.drawer_navigation_bar);
mDrawerLayoutRight = (DrawerLayout) findViewById(R.id.drawer_sidebar);
mDrawerLayoutLeft.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
mDrawerLayoutRight.setDrawerShadow(R.drawable.sidebar_shadow, GravityCompat.END);
一个可选的添加(但建议,为了用户体验的一致性)是在打开另一个抽屉时隐藏另一个抽屉,因此您的屏幕不仅仅包含抽屉。
我希望这对某人有所帮助!