Android:定义一次视图及其子项,并在任何地方重用它

Posted

技术标签:

【中文标题】Android:定义一次视图及其子项,并在任何地方重用它【英文标题】:Android: Define a view and its children once and reuse it anywhere 【发布时间】:2015-05-09 03:13:30 【问题描述】:

我想定义一次以下 xml,然后在任何活动中重用它。我刚刚读到我可以使用样式,但示例here 仅设置没有子视图的单个视图。我知道我可以夸大它,但是否可以纯粹在 xml 中做到这一点?

<RelativeLayout
android:id="@+id/group_chat_form"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_marginTop="5dp"
android:background="@drawable/transparent_background2" >

    <TextView 
    android:id="@+id/send_msg_button"
    android:layout_
    android:layout_
    android:layout_alignParentRight="true"
    android:background="@drawable/transparent_background2"
    android:text="Send" />

    <EditText
    android:id="@+id/group_chat_input_box"
    android:layout_
    android:layout_
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@id/send_msg_button"
    android:layout_toLeftOf="@id/send_msg_button"
    android:background="#00000000"
    android:hint="@string/type_a_message"
    android:textColorHint="#EEEEEE"
    android:inputType="textMultiLine"
    android:maxLines="5"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingTop="4dp"
    android:paddingBottom="4dp"
    android:textColor="#FFFFFF"
    android:textSize="20sp"
    android:shadowColor="#000000"
    android:shadowRadius="3"
    android:shadowDx="3"
    android:shadowDy="3"/> 

</RelativeLayout>

【问题讨论】:

你的问题是? developer.android.com/guide/topics/ui/custom-components.html 或 developer.android.com/training/improving-layouts/… 你到底想达到什么目的? 【参考方案1】:

使用include 标签。请参阅this 指南。

编辑

另见this答案

【讨论】:

这适用于我给出的具体示例,但如果最外面的视图不是布局,我想知道如何执行此操作。暂时给你点赞。 我认为您正在尝试引用 merge 标签。 在上面的链接中也有说明

以上是关于Android:定义一次视图及其子项,并在任何地方重用它的主要内容,如果未能解决你的问题,请参考以下文章

在任何地方的 maximo 中获取数组 indexoutofbound 异常

显示 SVG 图标的 Angular 可重用组件的宽度/高度未在任何地方设置并位于图标正下方,stackblitz 内部

定义类时自动注册(但无需在任何地方导入)

使用 Laravel 使自定义类在任何地方可用

EXIT_SUCCESS 和 EXIT_FAILURE。它是编译一次在任何地方运行还是一次编写到处编译? [复制]

Android ExpandableListView - 寻找教程[关闭]