我正在尝试制作一个待办事项应用程序,用户可以在其中查看导航菜单中的所有项目,但是我想在该菜单中创建一个“ +”(加号)按钮,以便将另一个项目添加到数据库和用户将可以在导航菜单中看到一个新项目。
例如,我提供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>
答案 0 :(得分:0)
我认为您可以为此使用app:actionLayout
<item
android:id="@+id/navId"
android:icon="@drawable/ic_ID"
android:title="Name"
app:actionLayout="@layout/youritemlayout"
/>
然后,您可以使用菜单项内容和“ +”按钮创建“ youritemlayout.xml”。