Изменение стиля кнопки во всем приложении

Я пытаюсь изменить весь TextColor моих кнопок в моем приложении на белый, а также попытаться сделать его жирным. Но этого не происходит, я перезаписываю the android:Widget.Button который я разрабатываю для Jelly Bean 4.1.2 Что я делаю неправильно?

Определение темы в манифесте

 android:theme="@style/spui" > 

Тема, в которой мне нравится

 <style name="spui" parent="android:Theme.Holo.Light.DarkActionBar"> <item name="android:buttonStyle">@style/Buttonspui</item> </style> 

Стиль самой кнопки

  <style name="Buttonspui" parent="android:Widget.Button"> <item name="android:background">@drawable/btn_default_holo_light</item> <item name="android:minHeight">48dip</item> <item name="android:minWidth">64dip</item> <item name="android:textColor">#ffffff</item> <item name="android:textStyle">bold</item> </style> 

Кнопка

  <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:text="@string/edit" android:id="@+id/btnEdit" style="@style/Buttonspui"/> 

Для стилизации вашей Button вы можете использовать это:

Перейдите в drawable папку и создайте файл XML (например, button.xml ) под названием «style», который содержит следующее:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <gradient android:startColor="#449def" android:endColor="#2f6699" android:angle="270" /> <stroke android:width="1px" android:color="#000000" /> <corners android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp" android:topLeftRadius="8dp" android:topRightRadius="8dp"/> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> </selector> 

Это мой код, вы можете внести необходимые изменения, которые вы хотите

Теперь назовите его в своем макете XML ( mainactivity.xml ), как это

 android:background="@drawable/button.xml" 

Теперь, чтобы изменить цвет и стиль шрифта, вы можете использовать следующее, которое приходит как часть styles.xml в папке значений

 <style name="buttonStyle" parent="@android:style/Widget.Button.Small"> <item name="android:textColor">#FFFFFF</item> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> </style> 

Теперь вызовите это в макете XML ( mainactivity.xml ), как это

  style="@style/buttonStyle" 

Конечный код:

 <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:text="@string/edit" android:id="@+id/btnEdit" android:background="@drawable/button.xml" style="@style/buttonStyle" /> 

Надеюсь это поможет 🙂