属性insetForeground已经定义

时间:2015-05-31 09:22:38

标签: android android-support-library

更新到新的

3

我收到了这个错误:

  

"属性insetForeground已经定义了"

请记住,我正在使用@romannurik ScrimInsetsFrameLayout.java

4 个答案:

答案 0 :(得分:34)

只需更改

com.android.support:design:22.2.0

在您的insetForeground attribute 中使用其他名称

答案 1 :(得分:10)

详细说明奥马尔的答案,

Android设计支持库引入了NavigationDrawer,它与DrawerLayout一起使用,提供了实现导航的方法等。请看这里:

Android Design Support Library

NavigationDrawer扩展了ScrimInsetsFrameLayout,它被带入了库中。

问题出现错误是因为insetForeground属性定义了两次。 一次是库的上下文,一次是ScrimInsetsFrameLayout的副本被带入项目。

选项:

  1. 重命名项目中定义的属性(由Omar建议) 继续使用ScrimInsetsFrameLayout的本地副本。
  2. 删除ScrimInsetsFrameLayout的本地副本并使用中的一个 而不是图书馆。
  3. 删除ScrimInsetsFrameLayout的本地副本并使用 而是NavigationDrawer。

答案 2 :(得分:7)

您的文件中包含此类ScrimInsetsFrameLayout.java,而谷歌已经将其放入Google Android支持设计库中。将ScrimInsetsFrameLayout替换为android.support.design.widget.NavigationView

答案 3 :(得分:0)

或者您可以将 values / attr.xml 中的 insetForeground 重命名为 insetForeground2 或其他内容