Стиль Android указывает цвет кнопки

Я пытаюсь применить цвет текста кнопки по умолчанию в styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="AppTheme"> <item name="android:windowFullscreen">true</item> <item name="android:windowBackground">@color/black</item> <item name="android:textColor">@color/green</item> </style> 

Как изменить цвет кнопки смены стиля и применить его во всем приложении? Мое главное:

  <application android:icon="@drawable/ic_launcher" android:label="Hack the World" android:theme="@style/AppTheme"> 

Это изменяет весь текст (например, TextView), но не меняет текст кнопкой. Если я использую стиль ColorThemes сверху и поместите его в xml для кнопки следующим образом:

  <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:onClick="loadSavedgame" android:text="Load Saved Game" android:textColor="@color/green" />" 

Тогда он работает отлично. Почему это не применяется повсеместно из-за стиля? Все разные версии styles.xml имеют одинаковый код.

В конце концов я обнаружил, что кнопка – это, по сути, 9-патч-образ, который находится в @android: drawable / btn_default, чтобы изменить фон, вы должны изменить это изображение. Чтобы изменить цвет текста кнопки, мне пришлось установить стиль виджета кнопки и импортировать его в тему приложения так:

 <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" > <item name="android:windowFullscreen">true</item> <item name="android:windowBackground">@color/black</item> <item name="android:textColor">@color/green</item> <item name="android:buttonStyle">@style/ButtonText</item> </style> <style name="ButtonText" parent="@android:style/Widget.Button"> <item name="android:textColor">@color/green</item> <item name="android:background">@android:drawable/btn_default</item><!-- only way to change this is to change the src image --> <item name="android:layout_width">80.0px</item> <item name="android:layout_height">40.0px</item> </style> </resources> 
Intereting Posts
Android: как использовать grantUriPermission, чтобы иметь возможность создавать и отправлять электронную почту с помощью растрового вложения Android. Отображение контактов телефонной книги и выбор одного из них. AdvertisingIdClient # getAdvertisingIdInfo иногда возвращает значение null, так как v9.8.0 Android миллисекунды Есть ли способ отключить функцию масштабирования полей ввода в веб-просмотре? Как преобразовать следующую строку в дату или объект календаря в Java? Ошибка: java.lang.IndexOutOfBoundsException: неверный индекс 2, размер 2 Используйте метод из класса T, расширяющий ArrayList <T> Откройте или запустите программную клавиатуру в режиме номера или символа Как фиксировать ключевые события внутри службы? Разрешено ли использование нескольких объявлений AdMob в RecyclerView? Альтернативная рекламная сеть? Синхронизировать данные приложения с Android-приложения на ПК Android, как включить / отключить автоматическую синхронизацию программно Imageview и PagerAdapter Как получить всю ближайшую позицию выбранного элемента gridview (или RecyclerGridview)