Joh*_*nny 6 android android-layout android-styles
例如我用...引用android样式
@android:style/...
Run Code Online (Sandbox Code Playgroud)
和我自己的应用程序风格...
@style/...
Run Code Online (Sandbox Code Playgroud)
但是如何将我的样式分成其他名称包呢?例如
@somePackage:style/...
Run Code Online (Sandbox Code Playgroud)
不幸的是你不能。您可能认为 Android 库可能对您有帮助,但事实并非如此。这是因为在编译资源时,Android 库会“物理”合并到主应用程序中。
因此,从aapt角度来看,您的应用程序的资源与任何其他 Android 库资源没有什么区别。更重要的是,aapt接收多个资源目录作为输入(即res应用程序的路径,加上res引用Android库的所有目录的路径),但同时仅AndroidManifest.xml将来自应用程序的单个资源作为这些资源的“所有者”传递。
我想说的是,即使您可以在逻辑上将资源(例如样式)分组到单独的 Android 库中,您仍然无法使用这些 Android 库的包名称来引用它们。仅使用主应用程序的包名称。
例如,您有具有包名称的应用程序com.test.app和具有com.test.lib. 并且库包含样式testStyle。
以下内容不起作用(理论上没有什么可以帮助您解决此问题):
<TextView style="@com.test.lib:style/testStyle" .../>
Run Code Online (Sandbox Code Playgroud)
虽然这工作正常:
<TextView style="@com.test.app:style/testStyle" .../>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1157 次 |
| 最近记录: |