使用 header 在操作栏上创建导航抽屉
Creating a navigation drawer over action bar with header
我有一个翻译应用程序,可以帮助人们学习语言并玩游戏来检查他们的学习情况。该应用程序已经有一个导航抽屉,但它出现在带有项目的操作栏下方。
我想更改导航抽屉,使其显示在操作栏上方。
非常喜欢导航抽屉具有 google Play 商店风格 header。
我尝试了很多解决方案,但我无法完成。以下是一些示例:
[1]Android Navigation Drawer on top ActionBar
已尝试第一种和第二种方案。
[2]https://www.youtube.com/watch?v=HDYPgS0BM8c&feature=youtu.be
更改 styles.xml 后已停止,因为操作栏没有消失或出现错误。 - 有没有可能我也必须改变 color.xml
我会使用新的 Toolbar 而不是 ActionBar。查看本教程:http://www.android4devs.com/2014/12/how-to-make-material-design-navigation-drawer.html
重要的是您必须将工具栏放在 DrawerLayout 中,如此处所示 (activity_main.xml):
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/DrawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:elevation="7dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar">
</include>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/RecyclerView"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#ffffff"
android:scrollbars="vertical">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.DrawerLayout>
toolbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:elevation="4dp"
android:paddingTop="@dimen/tool_bar_top_padding">
</android.support.v7.widget.Toolbar>
要使用工具栏:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
我有一个翻译应用程序,可以帮助人们学习语言并玩游戏来检查他们的学习情况。该应用程序已经有一个导航抽屉,但它出现在带有项目的操作栏下方。
我想更改导航抽屉,使其显示在操作栏上方。 非常喜欢导航抽屉具有 google Play 商店风格 header。
我尝试了很多解决方案,但我无法完成。以下是一些示例:
[1]Android Navigation Drawer on top ActionBar 已尝试第一种和第二种方案。
[2]https://www.youtube.com/watch?v=HDYPgS0BM8c&feature=youtu.be 更改 styles.xml 后已停止,因为操作栏没有消失或出现错误。 - 有没有可能我也必须改变 color.xml
我会使用新的 Toolbar 而不是 ActionBar。查看本教程:http://www.android4devs.com/2014/12/how-to-make-material-design-navigation-drawer.html
重要的是您必须将工具栏放在 DrawerLayout 中,如此处所示 (activity_main.xml):
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/DrawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:elevation="7dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar">
</include>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/RecyclerView"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#ffffff"
android:scrollbars="vertical">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.DrawerLayout>
toolbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:elevation="4dp"
android:paddingTop="@dimen/tool_bar_top_padding">
</android.support.v7.widget.Toolbar>
要使用工具栏:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);