Mam styl zastosowany do całej mojej aplikacji:
AndroidManifest.xml:
<application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name">
A w moim styles.xml:
<style name="ApplicationStyle" parent="android:Theme">
<item name="android:button">@style/CKButton</item>
</style>
<style name="CKButton" parent="android:style/Widget.Button">
<item name="android:textSize">19sp</item>
<item name="android:layout_margin">0dip</item>
<item name="android:background">#ff0000</item>
</style>
Ale styl nie jest stosowany.
Przepraszam, jeśli właśnie użyłem fałszywej nazwy w ApplicationStyle
- Item
, ale nie mam pojęcia, gdzie szukać nazw obiektów i po prostu założyłem, że android:button
dotyczy to wszystkich przycisków.
android
button
stylesheet
whlk
źródło
źródło
Odpowiedzi:
W przypadku stylów systemu Android odwołujesz się do wstępnie ustawionych atrybutów, które zostały określone w systemie Android
R.attr
. W tym przypadku wygląda na to, że chcesz się odwołaćandroid:buttonStyle
. Myślę, że to zadziała:<style name="ApplicationStyle" parent="android:Theme"> <item name="android:buttonStyle">@style/CKButton</item> </style>
źródło
parent="android:Widget.Button"
iparent=@android:style/Widget.Button
?W przypadku motywu Komponenty materiałowe wyglądałoby to tak:
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="materialButtonStyle">@style/AppTheme.Button</item> </style>
źródło