0

我正在使用带有主要和次要抽屉项目的 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();

谁能告诉我我错过了什么?请。

4

1 回答 1

0
  1. 删除这个new DrawerBuilder().withActivity(this).build();
  2. 现在您应该在设置抽屉之前创建帐户标题(例如在操作栏调用下方)
  3. 在 DrawerBuilder 方法中,您应该添加.withAccountHeader(headerResult)
于 2020-04-21T09:26:46.067 回答