扩展com.mikepenz.materialdrawer.AccountHeaderBuilder

时间:2016-03-17 13:45:13

标签: android android-gradle materialdrawer

我需要构建自己的AccountHeaderBuilder实现。

所以我试图从MaterialDrawer库扩展一个类。 在Android studio中,我如何才能继续这样做? MaterialDrawer库应该作为模块导入吗?

如果是,为什么我会收到如下错误:  我将项目作为模块导入时Error:(1290) Error retrieving parent for item: No resource found that matches the given name 'MaterialTheme'. ...

即使我的gradle设置为:

  compileSdkVersion 23
  minSdkVersion 15
  targetSdkVersion 23

扩展AccountHeaderBuilder的类需要在同一个包中...所以我的理解是我不能只在gradle文件中使用。

compile('com.mikepenz:materialdrawer:5.0.9@aar')

所以,在一句话中:如何继续从另一个项目扩展课程?

非常感谢您的帮助

ps:我已经能够集成这个库并使其在我的项目中工作,但现在我需要额外的功能。

1 个答案:

答案 0 :(得分:1)

发生异常是因为缺少必需的依赖项。 MaterialDrawer依赖于提供所需帮助程序类的MaterializeFastAdapter库。

要添加transitive=true的{​​{3}}州的文档,它会自动解决MaterialDrawer

的子依赖项

所以用以下代码替换你的编译语句:

compile('com.mikepenz:materialdrawer:5.1.4@aar') {
    transitive = true
}

截至评论中提到的要求。 也可以覆盖用于AccountHeader MaterialDrawer

的布局

您可以将该布局更改为您想要的任何内容,只需记住需要保持不变的id,并且您无法移除现有的视图,例如个人资料,但您可以改变因此ImageView s在布局中,并将其设置为gone。因此,配置文件不再可见。

附加行。您可以将此一个添加到selection容器中,其中包含现有的两个TextView。之后,您只需从onProfileChanged收听AccountHeaderBuilder事件,并在配置文件更改时更新此TextView

(您可以通过findViewById容器视图https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/res/layout/material_drawer_header.xml上的AccountHeader搜索此视图