2017-05-03 7 views
0

In meiner Anwendung muss ich die RecyclerView in zwei verschiedenen Aktivitäten verwenden. Ich dachte daran, das Layout zu erweitern, weil das Basislayout (die Recycler-Ansicht) für die beiden Aktivitäten identisch ist, aber ich weiß nicht, ob es möglich ist. Mit meine ich so etwas wie dieses "ein Layout erweitern":Ist es möglich, ein Layout zu erweitern?

Wenn dies mein ist 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> 

Ich möchte so etwas wie dies in meinem child_layout.xml tun:

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

So wird die Aktivität, die chid_layout.xml verwendet, eine RecyclerView und eine Button innerhalb haben.

Ist es möglich, so etwas zu tun?

Antwort

1

aufbläst Sie eine generische Layout erstellen könnte, dann ist es Aktivitäten auf Ihrem Layout hinzuzufügen.

Allgemein Layout- my_generic_layout.xml

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

Layout-Aktivitäten für

<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> 
+0

es ist genau was ich will, vielen Dank :) – Clyky

0

nur verwenden diese <include layout="@layouts/chid_layout" />

1

Wenn Sie die Taste innerhalb des Layouts Sie eine benutzerdefinierte Komponente schreiben müssen hinzufügen möchten. Sehen Sie hier Android Dokumentation https://developer.android.com/guide/topics/ui/custom-components.html#compound

Grundsätzlich könnten Sie eine Klasse erstellen, die von RelativeLayout erbt die base_layout.xml

+0

danke, aber ich denke, dass ein einfach 'include' Tag wie jmarkstar und ZeroOne vorgeschlagen wird gut – Clyky

Verwandte Themen