对于内置Android ListView
之类的内容,您可以通过执行android:id="@android:id/text1"
假设我有一个名为MyDomain
的外部库,其中有一些有用的布局API。
在我的主应用中,我想做android:id="@mydomain:id/someTextId"
。
我该如何做到这一点?
我正在使用Android Studio版本0.8.6测试版(暂时)将库作为模块,如果它有任何区别
答案 0 :(得分:2)
在这篇文章How to reference a string from another package in a library using XML in Android?中有一个很好的解释,说明“包”的含义以及为什么你不能这样使用它,除非你使用共享库
答案 1 :(得分:1)
我不确定你究竟想做什么......
您可以与应用分享图书馆的组件。应用程序的布局将是这样的:
<com.my.domain.MyComponent
xmlns:android="http://schemas.android.com/apk/res/android"
...
/>
您还可以通过添加XML命名空间直接在布局中定义组件的自定义属性,例如:
xmlns:md="http://schemas.android.com/apk/res/com.my.domain.MyComponent"
然后你可以使用像md:my_property="42"
这样的属性。
同时查看以下答案:How can I set up custom namespaces in layout file in Android studio?