2016-07-20 12 views
1

Ich habe eine ListPreference mit einem Schlüssel, den Titel und Einträge einrichten, usw. Es ist wie diese in XML aussieht:Android - ListPreference Dialog hat keine Polsterung oder Ränder

<ListPreference 
     android:key = "@string/pref_currency" 
     android:title="@string/settings_currency_title" 
     android:dialogTitle="@string/settings_currency_title" 
     android:entries="@array/locale_entries" 
     android:entryValues="@array/locale_entry_values"/> 

Es sitzt mit einem PreferenceScreen.

Wenn ich die ListPreference öffnen, indem Sie in meiner Anwendung zu klicken, sieht es wie folgt aus:

ListPreference Screenshot

Das Thema, das ich für meine app bin mit sich wie folgt:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <item name="colorAccent">@color/accent</item> 
    <item name="android:textColorPrimary">@color/primary_text</item> 
    <item name="android:textColorSecondary">@color/secondary_text</item> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">true</item> 
    <item name="android:fitsSystemWindows">true</item> 
</style> 

I hatte erwartet, dass der Titel und der Cancel-Button etwas Rand oder Padding haben. Weiß jemand, warum es keine gibt? Soll es standardmäßig hässlich aussehen?

Weiß jemand auch, wie ich sowohl die Titel- als auch die Cancel-Taste auffüllen könnte?

+0

Können Sie den ganzen Code teilen? –

+0

Da gibt es nicht viel anderes, ich bin mit dem Präferenz-Klick im PreferenceFragment beschäftigt, aber das war's. – JamesNWarner

+0

Sie bewerben Sie sich einige Thema zu 'activity' durch Manifest-Datei wie' ... '? –

Antwort

0

Das Problem ist in Ihrer styles.xml Datei. Wenn Sie <item name="android:fitsSystemWindows">true</item> von Ihrem Thema rudern oder seinen Wert auf false setzen, funktioniert alles wie erwartet.

android: fitsSystemWindows

Boolean interne Attribut Ansicht Layout einstellen auf Systemfenster wie der Statusleiste basiert. Wenn dies der Fall ist, passt das Padding dieser Ansicht an, um Platz für die Systemfenster zu lassen. Wird nur wirksam, wenn diese Ansicht in einer nicht eingebetteten Aktivität enthalten ist.

+0

Das macht Sinn! Vielen Dank! – JamesNWarner

Verwandte Themen