2016-07-20 53 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> 

我期待在标题和取消按钮周围留有一些边距或填充。有人知道为什么没有?这是否意味着默认情况下看起来很丑陋?

另外,有没有人知道我可以添加一些填充标题和取消按钮?

+0

你能分享整个代码吗? –

+0

没有其他的东西了,我正在处理PreferenceFragment中的首选项点击,但这就是它。 – JamesNWarner

+0

你是否通过清单文件向你的'activity'申请了一些主题,比如' ... '? –

回答

0

问题出在您的styles.xml文件中。如果您从主题中排列<item name="android:fitsSystemWindows">true</item>或将其值设置为false,则所有内容都将按预期工作。

机器人:fitsSystemWindows

布尔内部属性来调整基于系统的窗口视图布局如状态栏。如果为true,则调整此视图的填充以为系统窗口留出空间。只有当此视图处于非嵌入式活动时才会生效。

+0

这很有道理!谢谢! – JamesNWarner