Wie vertikal ausrichten von text in einem button mit einem hintergrund drawable?

Hatte ich einen einfachen button mit einem hintergrund-Bild definiert, wie

android:background="?attr/button"

wo ?attr/button war ein Verweis auf ein einfaches 9-patch png. Alles war in Ordnung, text in der Schaltfläche ausgerichtet war richtig.

Dann brauchte ich einen anderen hintergrund für eine pressed-Status der Schaltfläche. So habe ich geändert, um

android:background="@drawable/state_button"

wo @drawable/state_button ist eine xml mit den folgenden Staaten

<?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/button_pressed" /> <!-- pressed -->
    <item android:state_focused="true"
        android:drawable="@drawable/button_pressed" /> <!-- focused -->
    <item android:drawable="@drawable/button" /> <!-- default -->
</selector>

Und nach, dass ich nicht richten Sie den text richtig. Wenn ich android:gravity="center_vertical" den text gezeichnet wird ungefähr 1/4 der Höhe der Buttons von oben.

Ich doppelt überprüft meine 9-patch Bilder, alles scheint in Ordnung mit Ihnen. Und ich habe auch versucht eine normale PNG-Bilder für den hintergrund, es ist auch nicht irgendetwas zu ändern.

InformationsquelleAutor alex.zherdev | 2010-05-06
Schreibe einen Kommentar