У меня есть специальная вкладка, которую я собрал, используя большую помощь от 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: Изменено название темы
Глупая ошибка здесь. Макет xml, содержащий виджет вкладки,
android:background="@drawable/custom_tab_selector"
атрибут в нем, который заставляет фон вкладок рисоваться второй раз в фоновом режиме.