Wie kann ich definieren, die Größe des drawables, die in der Stil-Datei?
Möchte ich angeben, nur einmal im res/values/styles.xml die Größe von zwei Checkboxen und den vier gestalten drawables
- res/drawable/cb1_checked.xml
- res/drawable/cb1_unchecked.xml
- res/drawable/cb2_checked.xml
- res/drawable/cb2_unchecked.xml.
Diese Weise wird die Größe angezeigt würde, eine Zeit, in der Stil statt vier in den drawables.
Keiner der beiden versuche, die unten arbeiten. Können Sie eine Lösung vorschlagen? (Wenn Sie sehen, was ist falsch mit diese beiden versuche, bitte erwähnen Sie es.)
----------------------------------------------------------------Versuch 1----------------------------------------------------------------
Ersetzen
res/drawable/cb1_checked.xml
<size android:width="24dp"
android:height="24dp" />
mit
res/values/styles.xml
<item name="android:layout_width">24dp</item>
<item name="android:layout_height">24dp</item>
----------------------------------------------------------------Versuch 2----------------------------------------------------------------
Hinzufügen
res/values/styles.xml
<item name="android:background">cb_background</item>
"und definieren Sie einen hintergrund drawable
res/drawable/cb_background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#00FF00"/>
<size android:width="24dp"
android:height="24dp" />
</shape>
----------------------------------------------------------------Added----------------------------------------------------------------
Hier ist der vollständige Satz von XML-Dateien:
res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MyLL"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/cb1"
style="@style/CB_style"
android:button="@drawable/cb1_selector"
android:height="@dimen/my24sp" />
<CheckBox
android:id="@+id/cb2"
style="@style/CB_style"
android:button="@drawable/cb2_selector"
android:height="@dimen/my24sp" />
</LinearLayout>
res/values/styles.xml
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
<style name="CB_style" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_weight">1</item>
<item name="android:layout_gravity">center_horizontal</item>
<item name="android:gravity">center</item>
<item name="android:checked">false</item>
</style>
res/drawable/cb1_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true">
<item android:state_checked="true"
android:drawable="@drawable/cb1_checked" />
<item android:state_checked="false"
android:drawable="@drawable/cb1_unchecked" />
</selector>
res/drawable/cb1_checked.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF0000"/>
<size android:width="24dp"
android:height="24dp" />
</shape>
res/drawable/cb1_unchecked.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#880000"/>
<size android:width="24dp"
android:height="24dp" />
</shape>
(und ähnlich für den cb2-Selektor und markiert/nicht markiert drawables)
InformationsquelleAutor Calaf | 2013-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist eine schwache Lösung, schwach in dem Sinne, dass android:Breite und android:Höhe noch erscheinen vier mal, mindestens aber die dimension angepasst werden kann, durch Einstellung nur eines Parameters.
Für jede der vier drawables hinzufügen
Definition der dimension
res/values/dimens.xml
Also bleibt die Frage: Kann die Größe nicht angegeben werden, überhaupt in den drawables?
Ich habe die gleiche Sache, aber es ist nicht die Arbeit. Ich habe den folgenden Fehler
Error:Error: Width (0) and height (0) cannot be <= 0
. Ich habe min skd tarket Satz zu 19.Es klingt einfach, aber alles, was man vermuten könnte, hier wäre nur eine Vermutung. Überprüfen Sie und stellen Sie eine Frage.
InformationsquelleAutor Calaf
könnten Sie speichern Ihre Größe als ressource in der
res/values/dimens.xml
wieund setzen Sie diesen Wert auf Ihre layouts wie
wirklich? was ist der Fehler??? nach dem erstellen der neuen dimens.xml Sie sollten reinigen Sie Ihr Projekt.. als java ist die Erstellung der Referenz-id, um den Wert Ihrer @dimen/checkbox_width
Es gibt keine Fehler. Nichts erscheint entweder Eclipse oder das Gerät. Könnte man sich die komplette Reihe von Dateien, die habe ich jetzt Hinzugefügt, und sehen, ob es etwas gibt, was macht Ihre Lösung nicht auf meiner Seite?
InformationsquelleAutor longilong