Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.android 如何删除首选项标题和以下首选项之间的填充?_Xamarin.android_Android Preferences_Preferenceactivity_Androiddesignsupport_Preferencescreen - Fatal编程技术网

Xamarin.android 如何删除首选项标题和以下首选项之间的填充?

Xamarin.android 如何删除首选项标题和以下首选项之间的填充?,xamarin.android,android-preferences,preferenceactivity,androiddesignsupport,preferencescreen,Xamarin.android,Android Preferences,Preferenceactivity,Androiddesignsupport,Preferencescreen,我想删除首选项屏幕中的紫色间隙: 所以它应该是这样的: 我正在使用Xamarin Android和c#开发我的应用程序。 首选项屏幕是来自Android.Support.V7.Preferences库的PreferenceFragmentCompat。材质样式在“我的自定义主题”中设置: <style name="Theme.DarkTheme" parent="Theme.AppCompat.NoActionBar"> <it

我想删除首选项屏幕中的紫色间隙:

所以它应该是这样的:

我正在使用Xamarin Android和c#开发我的应用程序。 首选项屏幕是来自Android.Support.V7.Preferences库的PreferenceFragmentCompat。材质样式在“我的自定义主题”中设置:

<style name="Theme.DarkTheme" parent="Theme.AppCompat.NoActionBar">
   <item name="colorPrimary">#673AB7</item>
   <item name="colorPrimaryDark">#512DA8</item>
   <item name="colorAccent">#039be5</item><!--#FF4081-->
   <item name="colorControlHighlight">#242424</item>
   <item name="android:listDivider">@style/android:drawable/divider_horizontal_dim_dark</item> 
   <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item> 

#673AB7
#512DA8
#039be5
#242424
@风格/安卓:可拉深/分隔线\水平\昏暗\深色
@样式/首选项ThemeOverlay.v14.Material
下面是我的xml资源文件的样子,我在PreferenceFragmentCompats OnCreatePreferences()函数中通过AddPreferencesFromResource(Resources.Id.preference_screen)调用它:

<android.support.v7.preference.PreferenceScreen 
   xmlns:android="http://schemas.android.com/apk/res/android">
   <android.support.v7.preference.PreferenceCategory
    android:title="App">
        <Preference
            android:key="advsettings_preference"
            android:title="Erweiterte Einstellungen" />
        <Preference
            android:key="license_preference"
            android:title="Rechtliche Hinweise" />
   </android.support.v7.preference.PreferenceCategory>
</android.support.v7.preference.PreferenceScreen>

我已经尝试通过在PreferenceScreen中添加填充属性来修复它,但没有任何改变

所有来自Xamarin Android的最新NuGet软件包都已安装(v27.0.2)。
提前感谢。

在“开发人员选项”中启用“使用布局边界”时,查看布局时的紫色区域表示边距,而不是据我所知的填充

我建议尝试为您的
首选项类别
首选项
创建自定义布局,并使用
android:layout
属性在上述axml中设置它们:

android:layout="@layout/layout_name"

(可能需要同时使用和属性)

请尝试这样设置样式

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    ...
    <!-- Customize your theme here. -->
    <item name="preferenceTheme">@style/MyPreferenceStyle</item>
</style>

<style name="MyPreferenceStyle" parent="@style/PreferenceThemeOverlay.v14.Material">
    <item name="preferenceCategoryStyle">@style/MyPreferenceCategoryStyle</item>
    <item name="android:paddingLeft">10dp</item>
    <item name="android:paddingRight">10dp</item>
</style>

<style name="MyPreferenceCategoryStyle" parent="@style/Preference.Category.Material">
    <item name="android:layout">@layout/preference_category</item>
</style>
和应用程序设置:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.preference.PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
    <android.support.v7.preference.PreferenceCategory
        android:title="App">
        <Preference
            android:key="advsettings_preference"
            android:title="Erweiterte Einstellungen"
            android:summary="BenachRichtigung"/>
    </android.support.v7.preference.PreferenceCategory>
</android.support.v7.preference.PreferenceScreen>


不幸的是,将
android:layout_marginBottom=“-5dp”
添加到
android.support.v7.preference.PreferenceCategory
或我的首选项屏幕.xml中的任何其他元素都没有帮助。@pedzer更新了我的答案,请看一看。我已经尝试创建自己的自定义布局,但是没有设法在
@style/PreferenceThemeOverlay.v14.Material中获得PreferenceCatogory的资源,使其看起来像Google Play商店。尽管如此,我将在本周晚些时候再次检查。请提供您的自定义主题
@style/PreferenceThemeOverlay.v14.Material
?Android.Support.V7.Preferences库提供
@style/PreferenceThemeOverlay.v14.Material
。我只是指它。看看如何开发自己的偏好屏幕。他最终得到了相同的结果,但必须有一种方法去除边距/填充。否则基于同一主题的Google Play Store或Whats应用程序看起来就不是这样了。紫色的间隙问题现在已经解决,但我想添加左/右填充。我遵循了你的步骤,但结果看起来像,现在我有了3x 8dp的叫板。如何仅获取最外层的pedding(1)?这些框架和间隙由
首选项类别
和内部容器自动生成。您可以从布局检查器中看到这一点。我认为不可能把它们移除。请考虑改变使用其他类型的偏好。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.preference.PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
    <android.support.v7.preference.PreferenceCategory
        android:title="App">
        <Preference
            android:key="advsettings_preference"
            android:title="Erweiterte Einstellungen"
            android:summary="BenachRichtigung"/>
    </android.support.v7.preference.PreferenceCategory>
</android.support.v7.preference.PreferenceScreen>