Ich muss den Hintergrund einer Registerkarte ändern, sobald ausgewählt, setzen Sie die nicht ausgewählte Registerkarte Hintergrundfarbe zurück auf die alte. Aus irgendeinem Grund ändert sich der Hintergrund nur, wenn ich nach IE auf eine andere Registerkarte klicke: Ich drücke auf die erste Registerkarte - richtige Farbe. Drücken Sie auf die zweite Registerkarte - die erste behält die markierte Farbe und die zweite Registerkarte wird ebenfalls hervorgehoben. Drücken Sie auf die dritte - die erste ist wieder normal, die zweite ist noch markiert und die dritte ist ebenfalls markiert.Android Registerkarte Hintergrund ändert sich nicht bei nicht ausgewählter
Hier ist meine TabLayout und einer meiner Registerkarten (Sie sind alle das gleiche Design)
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#dbdbdb"
app:tabPaddingBottom="-1dp"
app:tabPaddingEnd="-1dp"
app:tabPaddingStart="-1dp"
app:tabPaddingTop="-1dp"
app:tabBackground="@drawable/tabs_background_colors"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true" >
android:background="@android:color/darker_gray" >
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:icon="@drawable/reservation_w"
android:id="@+id/tab_reservation"
android:layout="@layout/tab_item_with_icon"
android:layout_weight="1" />
Die tab_item_with_icon
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:background="#00000000">
<ImageView android:id="@android:id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:scaleType="fitCenter"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
und meine Reiter Zuhörer
((TabLayout)findViewById(R.id.tab_layout)).addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
int icon = 0;
switch (tab.getPosition())
{
case 0:
icon = R.drawable.reservation_w;
break;
case 1:
icon = R.drawable.offers_w;
break;
case 2:
icon = R.drawable.folio_w;
break;
case 3:
icon = R.drawable.location_w;
break;
case 4:
icon = R.drawable.contact_w;
break;
}
tab.setIcon(icon);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
int icon = 0;
switch (tab.getPosition())
{
case 0:
icon = R.drawable.reservation_g;
break;
case 1:
icon = R.drawable.offers_g;
break;
case 2:
icon = R.drawable.folio_g;
break;
case 3:
icon = R.drawable.location_g;
break;
case 4:
icon = R.drawable.contact_g;
break;
}
tab.setIcon(icon);
Darüber hinaus ist dies meine Zustände xml für die Registerkarte
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/tab_background_selected" android:state_selected="true"/>
<item android:drawable="@color/tab_background_unselected" android:state_selected="false"/>
Und here es, wie es in dem Fall sieht Ich war nicht so klar mit meiner Demonstration
Vielen Dank im Voraus :)
Danke für den Austausch! – AndroidRuntimeException