我正在尝试创建一个todo应用程序,用户将能够在导航菜单中看到所有项目,但我想在该菜单中创建一个“+”(加号)按钮,这将向数据库添加另一个项目,用户将能够在导航菜单中看到新项目。
作为这样的事情的一个例子,我提供a screenshot from Todoist application:
但是,我不知道如何实际实现它。
我的导航菜单代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/navigation_drawer_group_one"
android:checkableBehavior="single">
</group>
...
<group
android:id="@+id/navigation_drawer_group_two"
android:checkableBehavior="none">
<item android:id="@+id/menu_project_1"
android:icon="@drawable/ic_project_black_24dp"
android:title="@string/project_1" />
</group>
</menu>
我的activity_main.xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<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="com.example.android.time.MainActivity">
<include layout="@layout/app_bar_main"
android:layout_height="match_parent"
android:layout_width="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:theme="@style/ThemeOverlay.AppCompat.navTheme"
app:headerLayout="@layout/nav_drawer_header"
app:menu="@menu/nav_drawer"/>
</android.support.v4.widget.DrawerLayout>
我认为你可以使用app:actionLayout:
<item
android:id="@+id/navId"
android:icon="@drawable/ic_ID"
android:title="Name"
app:actionLayout="@layout/youritemlayout"
/>
然后,您可以使用菜单项内容和“+”按钮创建“youritemlayout.xml”。