Android позволяет для StateList drawable xml file, который предназначен для получения эффекта, которым вы пользуетесь.
read about it here
Идея заключается вы делаете файл XML, который объявляет другой рисуем (или цвет, если вы хотите, простые цвета) для каждого состояния. Затем, когда вы применяете этот элемент в качестве фона вашего представления, он будет обрабатывать «волшебство» переключения вашего изображения изображения для вас, так что вам не придется беспокоиться о том, чтобы делать это вручную из java-кода.
так что ваш фрагмент кода будет выглядеть примерно так:
myTabHost.getTabWidget().getChildAt(tab).setBackgroundResource(R.drawable.your_state_list_filename);
Вот пример списка файлов состояния, которые я использовал на кнопке. Вы можете скопировать это в xml-файл в свою папку drawables, а затем изменить его, чтобы использовать любые состояния и изображения, которые вы хотите.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/darkblue1" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/darkblue1" /> <!-- focused -->
<item android:drawable="@drawable/lightblue1" /> <!-- default -->
</selector>
Я думаю (но не уверен), что использовать цвета вместо вводимого коэффициента вы бы просто изменить "@drawable/blahblah"
к "#FF121212"
, где первые две цифры являются альфа, а следующий 6 являются шестнадцатеричное значение для цвета вы хотите ,
Вы пытаетесь изменить его, когда он выбран, а затем включите его когда он становится не выбранным? – FoamyGuy
да, это так, как сейчас – Jaume