6

我想做类似的事情

<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 />

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

4

2 回答 2

3

不,AFAIK,您将不得不使用全名。

于 2012-11-08T22:46:52.260 回答
0

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

于 2013-05-13T13:45:30.637 回答