Para coisas como o Android embutido ListView
, você pode fazer referência a IDs em XML fazendo android:id="@android:id/text1"
Vamos dizer que eu tenho uma biblioteca externa chamada MyDomain
em que tenho algumas APIs de layout úteis.
No meu aplicativo principal, gostaria de fazer algo como android:id="@mydomain:id/someTextId"
.
Como posso fazer isso?
Eu estou usando o Android Studio versão 0.8.6 beta e (por enquanto) tenho a biblioteca como um módulo se faz alguma diferença
Respostas:
2 para resposta № 1Há uma boa explicação neste post Como referenciar uma string de outro pacote em uma biblioteca usando XML no Android? sobre o significado de "pacote" e por que você não pode usá-lo assim a menos que você esteja usando bibliotecas compartilhadas
1 para resposta № 2
Não tenho certeza de entender exatamente o que você quer fazer ...
Você pode compartilhar um componente da sua biblioteca com seu aplicativo. O layout do aplicativo será algo assim:
<com.my.domain.MyComponent
xmlns:android="http://schemas.android.com/apk/res/android"
...
/>
Você também pode definir propriedades personalizadas de seu componente diretamente no layout adicionando um namespace XML, por exemplo:
xmlns:md="http://schemas.android.com/apk/res/com.my.domain.MyComponent"
E então você pode usar uma propriedade como md:my_property="42"
.
Além disso, verifique esta resposta: Como posso configurar namespaces personalizados no arquivo de layout no estúdio Android?