属性insetForeground已经定义

Oma*_*dan 18 android android-support-library

更新到新的后

com.android.support:design:22.2.0
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

"属性insetForeground已经定义"

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

Oma*_*dan 34

只是改变

insetForeground attribute
Run Code Online (Sandbox Code Playgroud)

在你attrs.xml的名字不同


Hai*_*imS 10

详细说明奥马尔的答案,

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

Android设计支持库

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

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

选项:

  1. 在继续使用ScrimInsetsFrameLayout的本地副本时,重命名项目中定义的属性(由Omar建议).
  2. 删除ScrimInsetsFrameLayout的本地副本,然后使用库中的那个.
  3. 删除ScrimInsetsFrameLayout的本地副本并改为使用NavigationDrawer.


ajd*_*man 7

ScrimInsetsFrameLayout.java的文件中包含此类,而Google已将此类放入Google Android支持设计库中.替换ScrimInsetsFrameLayoutandroid.support.design.widget.NavigationView