/ / API do Android com IDs de exibição personalizados - android, xml

API do Android com IDs de exibição personalizados - android, xml

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 № 1

Há 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?