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

Swe*_*per 7 android android-xml android-view

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

<com.example.MyView
   ......
/>
Run Code Online (Sandbox Code Playgroud)

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

<what.a.long.long.long.loooooong.packagename.MyView
   ......
/>
Run Code Online (Sandbox Code Playgroud)

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

gab*_*sch 5

定义您自己的命名空间:

<Layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:x="what.a.long.long.long.loooooong.packagename."
    >
    <x:MyView>
    </x:MyView>
</Layout>
Run Code Online (Sandbox Code Playgroud)

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."
    />
Run Code Online (Sandbox Code Playgroud)