如何使用XML文档创建这样的XML文件?

时间:2018-10-20 08:37:05

标签: android android-studio android-layout kotlin

基本上,我想通过创建XML文件来在android中通过默认文本视图添加自定义属性,该如何创建XML文件呢? 像

<TextView
android:id="@+id/textView16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"`enter code here`
android:text="TextView"
customfontdemo:fontName="Anything"
tools:layout_editor_absoluteX="163dp"
tools:layout_editor_absoluteY="166dp" />

这是我的自定义属性#fontName,我想在默认UI组件中添加我的自定义属性,我该怎么做? 并在.kt文件中读取

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,则希望能够在现有视图上使用自定义属性。

为此,您将需要“劫持”通胀过程。 如果您将api 11+作为目标,则可以通过实现自定义LayoutInflator.factory或factory2来实现这一目标(注意:Android团队需要学习如何命名事物)

工厂是一个包含函数的接口

View onCreateView(View parent, String name, Context context, AttributeSet attrs)

这是从源代码中提取的完整界面

 public interface Factory2 extends Factory {
    /**
     * Version of {@link #onCreateView(String, Context, AttributeSet)}
     * that also supplies the parent that the view created view will be
     * placed in.
     *
     * @param parent The parent that the created view will be placed
     * in; <em>note that this may be null</em>.
     * @param name Tag name to be inflated.
     * @param context The context the view is being created in.
     * @param attrs Inflation attributes as specified in XML file.
     *
     * @return View Newly created view. Return null for the default
     *         behavior.
     */
    public View onCreateView(View parent, String name, Context context, AttributeSet attrs);
}

请查看此tutorial,以帮助您实施工厂。 实施工厂后,您可以更换

活动

setContentView(View)

片段/简单通胀类型

onCreateView()