android Spinner: center Text vertikal innerhalb Spinner
ich brauche diese Spinnereien, um vertikal den Text zentrieren. Ich habe in der Spinner xml Definition Sachen wie diese versucht:
<Spinner
android:id="@+id/dir_spn"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:layout_weight="1"/>
Ich habe versucht, den Aufbau einer benutzerdefinierten Drop-Down-Layout:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/SpinnerDropDownItem"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee" />
styles.xml:
<resources>
<style name="SpinnerDropDownItem">
<item name="android:gravity">center_vertical</item>
<item name="android:layout_gravity">center_vertical</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textColorHighlight">#FFFF9200</item>
<item name="android:textColorHint">?android:attr/textColorHint</item>
<item name="android:textColorLink">#5C5CFF</item>
<item name="android:textSize">16sp</item>
<item name="android:textStyle">normal</item>
</style>
</resources>
Adapter Dropdown-Set :
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
ho w bekomme ich den Spinner-Text vertikal zentriert?
EDIT: kann es sich lohnen, zu erwähnen, dass die Aktivität im Manifest Motto ist so:
<resources>
<style name="SpeakNSpell" parent="@android:style/Theme">
<item name="android:minHeight">68sp</item>
</style>
</resources>
, die alle Ansichten mindestens 68sp hoch macht. beeinflusst das auch den Text im Spinner?
ich es auf die einfachste Form reduzieren würde und gehen von dort aus. Versuchen Sie es zuerst ohne den Stil und das ausgefallene Widget. Erstellen Sie ein einfaches TextView-Layout und stellen Sie die Schwerkraft auf center_vertical ein und prüfen Sie, ob das funktioniert. Außerdem ist das Dropdown-Layout * nicht * das, das angezeigt wird, wenn der Kreisel geschlossen ist (wie Sie es anzeigen). Vielleicht müssen Sie Ihren Stil auf das Layout anwenden, das verwendet wird, wenn der Spinner geschlossen ist? – Barak
Ich sehe nicht die android: layout_width = "wrap_content" 'und' android: layout_height = "wrap_content" ' – slybloty