扩展 com.mikepenz.materialdrawer.AccountHeaderBuilder
Extend com.mikepenz.materialdrawer.AccountHeaderBuilder
我需要构建自己的 AccountHeaderBuilder 实现。
所以我正在尝试从 MaterialDrawer 库扩展 class。
在 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
我的 class 扩展 AccountHeaderBuilder 需要在同一个包中...所以我的理解是我不能只在 gradle 文件中使用。
compile('com.mikepenz:materialdrawer:5.0.9@aar')
所以,一句话:我如何继续能够从另一个项目扩展 classes?
非常感谢您的帮助
ps:我已经能够集成这个库并使其在我的项目中工作,但现在我需要额外的功能。
出现异常是因为缺少所需的依赖项。 MaterialDrawer 依赖于 Materialize and FastAdapter 库,它们提供了所需的帮助程序 类。
MaterialDrawer 的文档说明要添加 transitive=true
,这将自动解析 MaterialDrawer
的子依赖项
所以将你的编译语句替换为:
compile('com.mikepenz:materialdrawer:5.1.4@aar') {
transitive = true
}
根据评论中提到的要求。
也可以覆盖用于 AccountHeader
https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/res/layout/material_drawer_header.xml
的布局
您可以将该布局更改为您想要的任何内容,只需记住需要保持不变的 id
s,并且您不能删除现有视图(如配置文件),但您可以更改这样 ImageView
就在一个布局中,并将这个设置为 gone
。因此配置文件将不再可见。
对于附加行。您可以将此添加到包含现有两个 TextView
的 selection
容器中。之后,您只需监听来自 AccountHeaderBuilder
的 onProfileChanged
事件,并在配置文件更改时更新此 TextView
。
(您可以通过在 AccountHeader
容器视图 https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/AccountHeader.java#L38 上使用 findViewById
搜索它来获得此视图)
我需要构建自己的 AccountHeaderBuilder 实现。
所以我正在尝试从 MaterialDrawer 库扩展 class。 在 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
我的 class 扩展 AccountHeaderBuilder 需要在同一个包中...所以我的理解是我不能只在 gradle 文件中使用。
compile('com.mikepenz:materialdrawer:5.0.9@aar')
所以,一句话:我如何继续能够从另一个项目扩展 classes?
非常感谢您的帮助
ps:我已经能够集成这个库并使其在我的项目中工作,但现在我需要额外的功能。
出现异常是因为缺少所需的依赖项。 MaterialDrawer 依赖于 Materialize and FastAdapter 库,它们提供了所需的帮助程序 类。
MaterialDrawer 的文档说明要添加 transitive=true
,这将自动解析 MaterialDrawer
所以将你的编译语句替换为:
compile('com.mikepenz:materialdrawer:5.1.4@aar') {
transitive = true
}
根据评论中提到的要求。
也可以覆盖用于 AccountHeader
https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/res/layout/material_drawer_header.xml
您可以将该布局更改为您想要的任何内容,只需记住需要保持不变的 id
s,并且您不能删除现有视图(如配置文件),但您可以更改这样 ImageView
就在一个布局中,并将这个设置为 gone
。因此配置文件将不再可见。
对于附加行。您可以将此添加到包含现有两个 TextView
的 selection
容器中。之后,您只需监听来自 AccountHeaderBuilder
的 onProfileChanged
事件,并在配置文件更改时更新此 TextView
。
(您可以通过在 AccountHeader
容器视图 https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/AccountHeader.java#L38 上使用 findViewById
搜索它来获得此视图)