Android Studio 1.5
Ho questo layout chiamato chat_profile_header
che verrà utilizzato in molti layout. Ho impostato lo su un colore indaco. Il problema è quando includo questa intestazione in altri layout, voglio essere in grado di cambiare il colore dello sfondo in base al tema di quel layout. Tutto nell'intestazione rimarrà lo stesso.Ignora l'attributo dello sfondo dell'elemento di inclusione per cambiare il colore di sfondo
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/profile_header_indigo_500">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/profile_image"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/photorace"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/tvProfileName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/profile_image"
android:layout_toEndOf="@id/profile_image"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:fontFamily="sans-serif"
android:textColor="@android:color/white"/>
</RelativeLayout>
Qui sto usando l'intestazione sopra inclusa in questo layout. Tuttavia, in base a questo tema, voglio cambiare l'intestazione in un altro colore grigio background
. Tuttavia, non penso di poter ignorare l'attributo del colore di sfondo.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<include
layout="@layout/chat_profile_header"
android:background="@color/child_header_lighter_grey"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rvParentList"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
C'è un modo per farlo senza dover creare diversi layout di intestazione in base allo sfondo. Sembra un sacco di duplicati.
Sono d'accordo. L'unica via percorribile qui è Java. –
ok. @CoryTrese grazie – MHossein