是否可以在android中将颜色资源设为私有?

Inf*_*Dev 5 android android-layout android-resources android-productflavors

我想知道是否可以在 android 中拥有私有颜色资源?

例如:主要文件:colors.xml:

  <color name="red">#520A2A</color>
  <color name="red_darken_1">#A11453</color>
Run Code Online (Sandbox Code Playgroud)

风格 1 中的文件:element_colors.xml:

  <color name="header_color">@colors/red</color>
  <color name="footer_color">@color/red_darken_1</color>
Run Code Online (Sandbox Code Playgroud)

风格 2 中的文件:colors.xml:

  <color name="blue">#041B3F</color>
  <color name="blue_darken_1">#244B77</color>
Run Code Online (Sandbox Code Playgroud)

element_colors.xml:

  <color name="header_color">@colors/blue</color>
  <color name="footer_color">@color/blue_darken_1</color>
Run Code Online (Sandbox Code Playgroud)

现在我不希望人们在布局文件中使用颜色或来自 color.xml 的样式,但我总是希望他们从 element_colors.xml 使用它,这样应用程序就不会变得特定于单一风格。基本上,如何使布局和样式无法访问某些颜色文件?

Let*_*tor 3

是的,您可以将资源设为图书馆的私有资源。

请查看文档

具体来说,请注意这个技巧,

库中的所有资源默认都是公开的。要使所有资源隐式私有,您必须将至少一个特定属性定义为公共。