如何在Android的导航菜单中添加“ +”按钮

时间:2019-03-15 13:07:01

标签: android

我正在尝试制作一个待办事项应用程序,用户可以在其中查看导航菜单中的所有项目,但是我想在该菜单中创建一个“ +”(加号)按钮,以便将另一个项目添加到数据库和用户将可以在导航菜单中看到一个新项目。

例如,我提供a screenshot from Todoist application:

但是,我不知道如何实现它。

我的导航菜单代码如下:

final class Event: Model {
    static let formDateFormatter: DateFormatter = {
        let formatter = DateFormatter()
        formatter.calendar = Calendar(identifier: .iso8601)
        formatter.locale = Locale(identifier: "en_US_POSIX")
        formatter.timeZone = TimeZone(secondsFromGMT: 0)
        formatter.dateFormat = "yyyy-MM-dd"
        return formatter
    }()

    var startDate: Date
    var endDate: Date

    init(from decoder: Decoder)throws {
        let container = try decoder.container(keyedby: CodingKeys.self)

        if let start = try? container.decode(String.self, keyedBy: .startDate), let date = Event.formDateFormatter.string(from: start) {
            self.startDate = date
        } else {
            self.startDate = try container.decode(Date.self, keyedBy: .startDate)   
        }

        if let end = try? container.decode(String.self, keyedBy: .endDate), let date = Event.formDateFormatter.string(from: end) {
            self.endDate = date
        } else {
            self.endDate = try container.decode(Date.self, keyedBy: .endDate)   
        }
    }
}

我的activity_main.xml看起来像这样:

<?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>

1 个答案:

答案 0 :(得分:0)

我认为您可以为此使用app:actionLayout

<item
    android:id="@+id/navId"
    android:icon="@drawable/ic_ID"
    android:title="Name"
    app:actionLayout="@layout/youritemlayout"

    />

然后,您可以使用菜单项内容和“ +”按钮创建“ youritemlayout.xml”。