Изменение ориентации Android удаляет пользовательский вид вкладки панели действий

Я создал ActionBar вкладки с настраиваемыми представлениями. Я использую пользовательский вид, потому что я хочу показать непрочитанное количество значков внутри вкладок. Когда деятельность создана, они выглядят просто отлично.

Когда я меняю ориентацию устройства, пользовательский вид выбранной вкладки удаляется с вкладки.

Это не происходит, когда я использую планшет, просто телефон. Кто-нибудь знает, что может быть причиной этого?

Вот пользовательский вид, который я использую

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/ivTabIcon"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="0dp"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_action_messages" />

    <TextView
        android:id="@+id/tvBadgeCount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@id/ivTabIcon"
        android:layout_alignTop="@id/ivTabIcon"
        android:layout_marginRight="0dp"
        android:layout_marginTop="3dp"
        android:background="@drawable/background_message_notification"
        android:gravity="center"
        android:minWidth="17sp"
        android:paddingBottom="1dp"
        android:paddingLeft="4dp"
        android:paddingRight="4dp"
        android:text="@null"
        android:textColor="@color/white"
        android:textSize="12sp" />

</RelativeLayout>

Вот код, когда я раздуваю пользовательские представления

RelativeLayout messageView = (RelativeLayout) LayoutInflater.from(this).inflate(R.layout.tab_message, null);
ImageView messageIcon = (ImageView) inboxView.findViewById(R.id.ivTabIcon);
messageIcon.setImageResource(R.drawable.ic_action_messages);
TextView tabBadgeInbox = (TextView) inboxView.findViewById(R.id.tvBadgeCount);
actionBar.newTab().setCustomView(messageView);

ОБНОВЛЕНИЕ Вот снимок экрана панели действий при создании действия

И когда я меняю ориентацию, вот как выглядит ActionBar

Теперь, если я создаю Activity в ландшафтном режиме, ActionBar загружается правильно

0 ответов

Другие вопросы по тегам