我需要构建自己的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:我已经能够集成这个库并使其在我的项目中工作,但现在我需要额外的功能。
答案 0 :(得分:1)
发生异常是因为缺少必需的依赖项。 MaterialDrawer依赖于提供所需帮助程序类的Materialize和FastAdapter库。
要添加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
搜索此视图