Frage

Ich verwende ListViews und erweiterte Views, die Teiler haben, und ich kann sie einstellen, aber auf Spinner sieht es so aus, als wäre es kein Teiler zwischen den Elementen.

Jemand, der eine Vorstellung davon hat, wie man das behebt?

War es hilfreich?

Lösung 4

Für Menschen mit demselben Problem, das ich nach dem fast verheerenden Ahnung hatte, habe ich eine Vorstellung davon, wie man den Teiler bekommt.

Ich habe die Trennlinie am unteren Rand meines benutzerdefinierten Layouts für jedes Element hinzugefügt

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout android:id="@+id/RelativeLayout01"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android" style="@style/ListItem2">

    <TextView android:id="@+id/Text" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_alignParentLeft="true"
        style="@style/SpinnerView_Text" android:paddingLeft="10dip" />

    <ImageView android:id="@+id/icon" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/arrowright"
        android:layout_alignParentRight="true" android:layout_centerInParent="true"
        android:layout_marginRight="20dip" />

</RelativeLayout>

<ImageView android:id="@+id/Divider1" android:layout_width="fill_parent"
    android:layout_height="1dip" style="@style/Divider"></ImageView>

Andere Tipps

Das hat für mich funktioniert:

<style name="SpinnerStyle" parent="Widget.AppCompat.ListView.DropDown">
        <item name="android:divider">#d1d1d1</item>
        <item name="android:dividerHeight">0.5dp</item>
    </style>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="android:dropDownListViewStyle">@style/SpinnerStyle</item>

Der Vorteil, dies zu nutzen, besteht darin, dass der Welligkeitseffekt auf den Schwebedruck nicht entfernt wird.

Ich habe es geschafft, eine ordnungsgemäßere Lösung für dieses Problem zu finden (ohne den Teiler in das Layout einzelner Elemente aufzunehmen).

Was Sie tun müssen, ist das Thema Ihrer Aktivität zu definieren

        <item name="android:dropDownListViewStyle">@style/App.Style.Spinner</item>

und dann den richtigen Stil mit erstellen

   <style name="App.Style.Spinner" parent="@style/Widget.Sherlock.Light.ListView.DropDown">
           <item name="android:dividerHeight">10dip</item>
           <item name="android:divider">@drawable/mydivider</item>
   </style>

Basierend auf @talihawk Antwort habe ich es zum Laufen gebracht Spezifisch Nur Spinner. Anstatt Ihr Aktivitätsthema festzulegen, stellen Sie das Thema direkt für die Spinneransicht fest:

<style name="MatchSpinnerStyle" parent="android:style/Widget.ListView.DropDown">
    <item name="android:divider">#123456</item>
    <item name="android:dividerHeight">1dp</item>
</style>

<style name="MatchSpinnerTheme" parent="AppTheme">
    <item name="android:dropDownListViewStyle">@style/MatchSpinnerStyle</item>
</style>

und

<android.support.v7.widget.AppCompatSpinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"        
    android:theme="@style/MatchSpinnerTheme"/>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top