/ / Derivando um tema baseado em theme.appcompat - android, android-layout

Derivando um tema baseado em theme.appcompat - android, android-layout

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 № 1

Na 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 Activityou o aplicativo inteiro, por exemplo:

<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/MyTheme">