我们假设我创建了一个名为MyView
的自定义视图,并希望在xml中使用它,视图位于com.example
包中。我需要做这样的事情:
<com.example.MyView
......
/>
我需要在每次时使用视图编写包名。如果我的包名很长怎么办?
<what.a.long.long.long.loooooong.packagename.MyView
......
/>
那看起来很难看。是否可以缩短包装名称?我是否需要在AndroidManifest.xml文件中执行某些操作?
答案 0 :(得分:3)
定义您自己的命名空间:
<Layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:x="what.a.long.long.long.loooooong.packagename."
>
<x:MyView>
</x:MyView>
</Layout>
xmlns:x
表示应该在名称空间定义中定义的包中查找以<x:
开头的所有标记(在本例中为what.a.long.long.long.loooooong.packagename.
)。
您甚至可以在标记本身中使用命名空间:
<x:MyView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:x="what.a.long.long.long.loooooong.packagename."
/>
答案 1 :(得分:2)
您可以使用我的库XmlTag。它允许您使用View
注释的每个@XmlTag
的简称。