有没有办法避免在自定义视图(Android)中使用xml中的完整包名?

时间:2012-11-08 22:30:01

标签: android xml

我想做点什么

<TextViewPlus
    android:id="@+id/settings_title_text"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:text="@string/settings />

而不是

<com.my.really.super.long.package.name.that.wont.autocomplete.TextViewPlus
    android:id="@+id/settings_title_text"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:text="@string/settings />

我想我可以将自定义视图放在(默认)包中,但这似乎是一个坏主意。 (编辑:经过测试,它无论如何都不起作用)是否有“好”的方法来做到这一点?

2 个答案:

答案 0 :(得分:3)

不,AFAIK你必须使用全名。

答案 1 :(得分:0)

LayoutInflater.setFactory(LayoutInflater.Factory)允许您指定在运行时根据标记名称执行自定义视图对象创建的对象。这可以用来实现你想要做的。我首先调用getFactory()来检索现有的默认工厂对象,并将其用于任何不是自定义视图的视图名称。