是否可以扩展布局?

时间:2017-05-03 16:42:47

标签: android xml layout

在我的应用程序中,我需要在两个不同的活动中使用RecyclerView。 我正在考虑扩展布局,因为这两个活动的基本布局(回收者视图)是相同的,但我不知道它是否可能。 使用"扩展布局"我的意思是这样的:

如果这是我的base_layout.xml

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"">

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/recyclerView">
    </android.support.v7.widget.RecyclerView>
</RelativeLayout>

我想在我的child_layout.xml

中做类似的事情
include "base_layout.xml" 
<Button
            android:id="@+id/btnAddVehicle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="+"
            android:onClick="launchAddVehicleActivity"/>

因此,使用chid_layout.xml的活动内部会有RecyclerViewButton

是否可以做类似的事情?

3 个答案:

答案 0 :(得分:0)

只需使用此<include layout="@layouts/chid_layout" />

即可

答案 1 :(得分:0)

如果要在布局中添加按钮,则需要编写自定义组件。请在此处查看Android文档https://developer.android.com/guide/topics/ui/custom-components.html#compound

基本上你可以创建一个继承自RelativeLayout的类来扩展base_layout.xml

答案 2 :(得分:0)

您可以创建一个通用布局,然后将其添加到布局的活动中。

通用布局 my_generic_layout.xml

<RelativeLayout
android:id="@+id/generic_layout">
  <RecyclerView/>
</RelativeLayout>

布局活动

<RelativeLayout
android:id="@+id/layout_1">
<include layout="@layout/my_generic_layout" />
</RelativeLayout>


<RelativeLayout
android:id="@+id/layout_2">
<include layout="@layout/my_generic_layout" />
</RelativeLayout>