Вкладки: необъяснимый вид за раздутыми вкладками

1

У меня есть специальная вкладка, которую я собрал, используя большую помощь от SO. Однако я сталкиваюсь с несколькими проблемами, но я не могу найти ответ на этот вопрос.

Во-первых, все состояния вкладок поступают из ресурсов вкладки android apk, из которых я скорректировал цвета. Невыбранная вкладка с девятью патчами отображается под каждой вкладкой, и я не могу заставить ее уйти, любые предложения?

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

Вот изображения, чтобы показать, что я имею в виду; начальная нагрузка слева, нажатая справа, и на обоих изображениях отображается невыбранное изображение вкладки, отображаемое за вкладками:

Я попытался опубликовать изображения того, как выглядят вкладки, но мой представитель еще недостаточно высок. Сожалею!

Вот вкладка xml, которую я раздуваю:

<?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="75dp"
    android:layout_weight="1"
    android:background="@drawable/custom_tab_selector"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/ivTabIicon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/tvTabTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

Вот мой селектор XML

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

    <!-- Active tab -->
    <item 
        android:drawable="@drawable/tab_selected" 
        android:state_focused="false" 
        android:state_pressed="false" 
        android:state_selected="true"/>

    <!-- Inactive tab -->
    <item 
        android:drawable="@drawable/tab_unselected"
        android:state_focused="false" 
        android:state_pressed="false" 
        android:state_selected="false"/>

    <!-- Pressed tab -->
    <item 
        android:drawable="@drawable/tab_press" 
        android:state_pressed="true"/>

    <!-- Selected tab (using d-pad) -->
    <item 
        android:drawable="@drawable/tab_focus" 
        android:state_focused="true" 
        android:state_pressed="false" 
        android:state_selected="true"/>

</selector>

И вот моя часть java активности, которая раздувает и отображает каждую вкладку

// Initialize a TabSpec for each tab and add it to the TabHost
// Team tab
View tabTeamIndicator = LayoutInflater.from(this).inflate(R.layout.tab_team_layout, getTabWidget(), false);
spec = tabHost.newTabSpec("teamTab");
title = (TextView) tabTeamIndicator.findViewById(R.id.tvTabTitle);
title.setText("Team Manager");
icon = (ImageView) tabTeamIndicator.findViewById(R.id.ivTabIicon);
icon.setImageResource(R.drawable.custom_teamtab_icon);

spec.setIndicator(tabTeamIndicator);
spec.setContent(intentTeam);
tabHost.addTab(spec);

Большое спасибо за любую помощь! Кстати, цвета выглядят намного лучше на телефонах, на которых я их пытаюсь, чем на эмуляторе !!!

EDIT: Изменено название темы

Теги:
tabs

1 ответ

2

Глупая ошибка здесь. Макет xml, содержащий виджет вкладки,

android:background="@drawable/custom_tab_selector"

атрибут в нем, который заставляет фон вкладок рисоваться второй раз в фоновом режиме.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню