有没有办法在我的应用程序中使用非公共android资源?

LA_*_*LA_ 26 resources android

我需要在我的小部件中使用以下资源:

  • pressed_application_background_static
  • focused_application_background_static

我希望这些资源的使用能让我在HTC上获得标准android和green的橙色背景.

但他们不公开,所以使用

android:drawable="@android:drawable/pressed_application_background_static"
Run Code Online (Sandbox Code Playgroud)

不被允许.还有什么方法可以使用它们吗?

And*_*kki 49

你可以像这样引用它们

android:drawable="@*android:drawable/pressed_application_background_static"
Run Code Online (Sandbox Code Playgroud)

但不建议这样做,因为将来可能会重命名或删除私有资源.

  • 它允许您访问私有资源.我猜是在那里警告你.您可以使用@android:drawable而不用担心,但是当使用@*android:drawable时,您应该意识到它不能保证在那里,所以您自己承担风险. (4认同)
  • 这颗星(*)是什么意思? (2认同)
  • @Jules如果您使用IntelliJ IDEA/Android Studio,您可以执行ALT + Enter并禁止该文件的警告. (2认同)

tec*_*ces 4

浏览 sdk 中的可绘制对象并将其复制到本地的 res/drawable 文件夹中。它可能是一个 XML 文件,但如果您搜索“pressed_application_background_static”,您应该可以轻松找到它。