Я пытаюсь определить фокус/нажатый цвет для кнопки и других элементов. Это необходимо, потому что я разрабатываю новые компоненты, и важно, чтобы они выглядели как часть платформы. Эти цвета являются ORANGE на android sdk и GREEN на HTC SenseUI. Если бы я мог обнаружить этот цвет, мой компонент будет выглядеть как часть платформы на обеих версиях.
Кто-нибудь знает, как это сделать?
Можно создать "селектор", который использует настраиваемое изображение для стандартного состояния и платформы по умолчанию для фокуса/выбора.
Чтобы сделать это, выполните следующие действия: 1) создать файл xml с селектором в "res/drawable" (например, "red_button.xml" ):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@android:drawable/btn_default" >
</item>
<item android:state_focused="true"
android:drawable="@android:drawable/btn_default" >
</item>
<item
android:drawable="@drawable/btn_default_red" >
</item>
</selector>
2) из папки ".../android-sdk-mac/platform/android-1.5/data/res/drawable/" сделать снимок "btn_default_pressed.9.png" и изменить цвет по своему усмотрению (мне нужно было измените его на красный и для этого GIMP достаточно).
3) поместите измененное изображение в "res/drawable" (например, с именем "btn_default_red.9.png" )
4) определить кнопку:
<Button
android:id="@+id/info_button"
android:layout_width="wrap_content"
android:layout_height="37dip"
android:layout_marginTop="1dip"
android:background="@drawable/red_button"
android:text="[Info]" />
Что все.
Это результат: alt text http://img200.imageshack.us/img200/1349/custombutton.png