2016-07-20 4 views
1

я поставил в ListPreference с ключом, названием и записью, и т.д. Это выглядит, как это в XML:Android - диалог ListPreference не имеет отступов или полей

<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"/> 

Он сидит с PreferenceScreen.

Когда я открываю ListPreference, нажав на него в моем приложении это выглядит следующим образом:

ListPreference Screenshot

Тема Я использую для моего приложения выглядит следующим образом:

<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 ожидал, что там будет какой-то запас или добавка вокруг названия и кнопка отмены. Кто-нибудь знает, почему их нет? Должно ли это выглядеть по умолчанию уродливо?

Кроме того, кто-нибудь знает, как я мог бы добавить дополнение к кнопке названия и отмены?

+0

Можете ли вы разделить весь код? –

+0

Там не так много, я обрабатываю предпочтение, щелкнув в PreferenceFragment, но об этом. – JamesNWarner

+0

вы применяя некоторую тему в 'activity' через файл манифеста, как' <деятельности андроида: имя = андроид "MyPreferencesActivity.": Тема = "@ стиль/Theme.Custom" ...> ... '? –

ответ

0

Проблема в вашем файле styles.xml. Если вы укажете <item name="android:fitsSystemWindows">true</item> с вашей темы или установите ее значение false, все будет работать так, как ожидалось.

андроид: fitsSystemWindows

Boolean внутреннего атрибут для настройки разметки на основе системных окон, такие как строки состояния. Если значение true, отрегулируйте прописку этого вида, чтобы оставить пространство для системных окон. Вступит в силу только в том случае, если это представление находится в не встроенной активности.

+0

Это имеет смысл! Спасибо! – JamesNWarner