如何将页眉添加到Mikepenz Material Drawer



我使用的mikepenz材料抽屉库包含主抽屉和辅助抽屉项目,无法在材料抽屉中添加标题。我想添加一个材料抽屉标题(带有名称和个人资料图像(,而不是主要抽屉项目。

下面是我的代码

new DrawerBuilder().withActivity(this).build();

//primary items
PrimaryDrawerItem profile = new PrimaryDrawerItem()
.withIdentifier(1)
.withName("John Doe")
.withDescription("Edit Profile")
.withDescriptionTextColorRes(R.color.black_overlay)
.withIcon(R.drawable.avatar);

SecondaryDrawerItem home = (SecondaryDrawerItem) new SecondaryDrawerItem()
.withIdentifier(13)
.withName(R.string.drawer_item_home)
.withIcon(R.drawable.ic_home);
SecondaryDrawerItem play = (SecondaryDrawerItem) new SecondaryDrawerItem()
.withIdentifier(14)
.withName(R.string.drawer_item_play)
.withIcon(R.drawable.ic_play);
SecondaryDrawerItem custom = (SecondaryDrawerItem) new SecondaryDrawerItem()
.withIdentifier(15)
.withName(R.string.drawer_item_custom)
.withIcon(R.drawable.ic_custom);
SecondaryDrawerItem settings = (SecondaryDrawerItem) new SecondaryDrawerItem()
.withIdentifier(97)
.withName(R.string.drawer_item_settings)
.withIcon(R.drawable.ic_setting);
SecondaryDrawerItem about = (SecondaryDrawerItem) new SecondaryDrawerItem()
.withIdentifier(98)
.withName(R.string.help)
.withIcon(R.drawable.ic_help);
SecondaryDrawerItem logout = (SecondaryDrawerItem) new SecondaryDrawerItem()
.withIdentifier(99)
.withName(R.string.drawer_item_logout)
.withIcon(R.drawable.ic_logout);

new DrawerBuilder()
.withActivity(this)
.withToolbar(toolbar)
.withActionBarDrawerToggleAnimated(true)
.withTranslucentStatusBar(true)
.withFullscreen(true)
.withSavedInstance(savedInstanceState)
.addDrawerItems(
profile,
new SectionDrawerItem(),
home,
play,
custom,
new DividerDrawerItem(),
settings,
help,
logout
)
.withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
@Override
public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
return false;
}
})
.build();

我试图把这个而不是主要抽屉项目,但我得到了一个错误(请传递一个活动(

AccountHeader headerResult = new AccountHeaderBuilder()
.addProfiles(
new ProfileDrawerItem().withName("John Doe").withEmail("Johndoe@email.com").withIcon(R.drawable.avatar)
).withOnAccountHeaderListener(new AccountHeader.OnAccountHeaderListener() {
@Override
public boolean onProfileChanged(View view, IProfile profile, boolean currentProfile) {
return false;
}
}).build();

有人能告诉我我缺了什么吗?请

  1. 删除此new DrawerBuilder().withActivity(this).build();
  2. 现在,您应该在设置抽屉(用于动作栏调用下面的示例(
  3. 在DrawerBuilder方法中,应该添加.withAccountHeader(headerResult)

最新更新