Основано на this question Я смог определить, что стандартный шаблон кнопки, например. Android 2.2 находится на
C:\Program Files (x86)\Android-sdk\platforms\android-8\data\res\drawable\btn_default.xml
Очевидно, что путь может отличаться на вашем компьютере. Он относится к чертежам, таким как "@drawable/btn_default_normal"
, которые относятся к файлам с 9 исправлениями, например. те ИПЧР являются
data\res\drawable-hdpi\btn_default_normal.9.png
data\res\drawable-hdpi\btn_default_normal_disable.9.png
data\res\drawable-hdpi\btn_default_pressed.9.png
data\res\drawable-hdpi\btn_default_selected.9.png
data\res\drawable-hdpi\btn_default_normal_disable_focused.9.png
Как найти ресурсы: Я начал с конструктором Button.java (в использовании SDK менеджер для загрузки Источников для Android SDK):
this(context, attrs, com.android.internal.R.attr.buttonStyle);
Что относится к <item>
в res/values/themes.xml
:
<item name="buttonStyle">@android:style/Widget.Button</item>
Что относится к <style>
в res/values/styles.xml
:
<style name="Widget.Button">
<item name="android:background">@android:drawable/btn_default</item>
<item name="android:focusable">true</item>
<item name="android:clickable">true</item>
<item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item>
<item name="android:textColor">@android:color/primary_text_light</item>
<item name="android:gravity">center_vertical|center_horizontal</item>
</style>
Которая, наконец, относится к res/drawable/btn_default.xml
.
Есть способы примените цветной фильтр к кнопке, например, тот, который указан вами по почте: 'button.getBackground(). setColorFilter (новый LightingColorFilter (0xFFFFFFFF, 0xFFAA0000));'. Возможно, это то, что вам нужно, так как кнопка остается «стандартной кнопкой Android»? –