是否可以缩短自定义视图名称?

时间:2015-07-28 08:21:55

标签: android android-view android-xml

我们假设我创建了一个名为MyView的自定义视图,并希望在xml中使用它,视图位于com.example包中。我需要做这样的事情:

<com.example.MyView
   ......
/>

我需要在每次时使用视图编写包名。如果我的包名很长怎么办?

<what.a.long.long.long.loooooong.packagename.MyView
   ......
/>

那看起来很难看。是否可以缩短包装名称?我是否需要在AndroidManifest.xml文件中执行某些操作?

2 个答案:

答案 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的简称。

XmlTag in action