Quero derivar um tema de theme.appcompat.Nesse tema, quero definir estilos de botões personalizados. O código dos botões é fornecido abaixo. Como faço para adicioná-los a um tema que eu crio e como faço para criar esse tema. Em quais arquivos eu preciso incluir esse tema além de res / valores / estilo. O código a seguir está na pasta res / drawable com o nome 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="@drawable/componentstyles_btn_default_pressed_holo_light" />
<item android:state_focused="true"
android:drawable="@drawable/componentstyles_btn_default_focused_holo_light" />
<item
android:drawable="@drawable/componentstyles_btn_default_normal_holo_light" />
</selector>
Agora, o código em res / valor / estilos é
<resources>
<style name="MyTheme" parent="Theme.AppCompat.Light">
<item name="android:buttonStyle">@style/MyButton</item>
</style>
<style name="MyButton" parent="android:Widget.Button">
<item name="android:background">@drawable/red_button</item>
</style>
</resources>
O manifesto é assim:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
Respostas:
1 para resposta № 1Na tua res/values
pasta, você deseja criar um arquivo styles.xml
, especificando
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!--Custom styles here -->
</style>
O seletor que você está mostrando pode ser colocado no res/drawable
pasta. Se você deseja aplicá-lo a todos os seus botões, você deve fazer algo como:
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:buttonStyle">@style/MyButton</item>
</style>
<style name="MyButton" parent="android:Widget.Button">
<item name="android:background">@drawable/your_selector</item>
</style>
Para habilitar seu tema personalizado, aplique-o no AndroidManifest.xml
para um específico Activity
ou o aplicativo inteiro, por exemplo:
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/MyTheme">