我有一个带有NavigationView(支持设计库)的DrawerLayout。我已经能够设置标题并向视图添加项目,但我希望有一些项目有较小的文本,没有图标等...我无法弄清楚我将指定新属性的位置。在我的drawer.xml中,其他项目在哪里,我不知道哪些属性可以改变它。
感谢任何建议!
我有两个具有预期外观的项目和最后一个项目Logout,我想缩小它并且有一个分隔开销。
布局/ activity_main.xml中
<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">
<!-- As the main content view, the view below consumes the entire
space available using match_parent in both dimensions. -->
<LinearLayout
android:orientation="vertical"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/fragment_navdrawer_header"
app:menu="@menu/drawer"/>
</android.support.v4.widget.DrawerLayout>
菜单/ drawer.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/navigation_item_1"
android:icon="@drawable/ic_action_social_school"
android:title="Courses"/>
<item
android:id="@+id/navigation_item_2"
android:icon="@drawable/ic_action_action_grade"
android:title="Grades"/>
<item
android:id="@+id/navigation_logout"
android:title="Logout"
/>
</group>
</menu>
答案 0 :(得分:1)
你的activity_main.xml
应该是怎样的。工具栏已注释掉,但如果您需要,请取消注释并添加工具栏布局。在页面底部添加注销按钮和分隔符视图,并按照它们在列表视图中的项目中的样式进行样式设置。
<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>
//devider
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:alpha="0.2"
android:background="@android:color/white" />
//logout button
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="12dp"
android:paddingTop="4dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/txtLogout" />
</android.support.v4.widget.DrawerLayout>
而不是drawer.xml
添加新的item_row
布局。这对于recyclerView中的每一行
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:layout_height="wrap_content"
android:background="#ffffff"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rowIcon"
android:paddingLeft="16dp"
android:src="@drawable/ic_launcher"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="12dp"
android:paddingTop="4dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/rowText" />
</LinearLayout>
这里只是一个关于你的抽屉应该是什么样子的草图,但是你可以重新设计你的标题以显示图像和所有东西。下面是几个很好的链接,详细解释了这一点。
How To Make Material Design Navigation Drawer With Header View
Android Getting Started with Material Design
希望这有帮助