/ / Ableiten eines Themas basierend auf theme.appcompat - Android, Android-Layout

Ableiten eines Themas basierend auf theme.appcompat - Android, Android-Layout

Ich möchte ein Thema von theme.appcompat ableiten. In diesem Thema möchte ich benutzerdefinierte Schaltflächen Stile festlegen. Der Code der Tasten ist unten angegeben. Wie füge ich sie zu einem Thema, das ich erstelle, hinzu und wie erstelle ich dieses Thema. In welchen Dateien muss ich dieses Thema neben res / values ​​/ style einfügen. Der folgende Code ist im res / drawbaren Ordner mit dem Namen 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>

Jetzt ist der Code in res / value / styles

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

Manifest ist wie folgt:

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

Antworten:

1 für die Antwort № 1

In deinem res/values Ordner, möchten Sie eine Datei erstellen styles.xml, spezifizieren

<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!--Custom styles here -->
</style>

Der Selektor, den du zeigst, könnte in den res/drawable Mappe. Wenn Sie es auf alle Ihre Schaltflächen anwenden möchten, möchten Sie Folgendes tun:

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

Um Ihr benutzerdefiniertes Design zu aktivieren, wenden Sie es in der AndroidManifest.xml zu einem bestimmten Activityoder die gesamte App, z. B .:

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