热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PreferenceFragmentCompat在PreferenceCategory上有填充,我无法摆脱它

如何解决《PreferenceFragmentCompat在PreferenceCategory上有填充,我无法摆脱它》经验,为你挑选了2个好方法。

所以我一直在尝试使用androidx.preference.PreferenceFragmentCompat创建一个设置活动,它一切正常.

但是由于某种原因,在偏好类别和偏好本身上都存在一些填充.我设法通过使用app:icOnSpaceReserved="false"来摆脱首选项的填充,但这似乎不适用于类别.

图片

我已经尝试了所有各种主题,PreferenceThemeOverlay.v14.Material等但它们似乎没有什么区别

这是我的一切代码!

SettingsActivity.java

import android.os.Bundle;

import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

public class SettingsActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);

        Toolbar toolbar = findViewById(R.id.settings_toolbar);
        setSupportActionBar(toolbar);
        ActionBar actiOnBar= getSupportActionBar();
        if (actionBar != null) {
            actionBar.setDisplayHomeAsUpEnabled(true);
            actionBar.setDisplayShowTitleEnabled(false);
        }

    }
}

activity_settings.xml



    

        

    

    


SettingsTestFragment.java

import android.os.Bundle;

import androidx.preference.PreferenceFragmentCompat;

public class SettingsTestFragment extends PreferenceFragmentCompat {

    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {

        setPreferencesFromResource(R.xml.preferences_test, rootKey);
    }
}

preferences_test.xml



    

        
    


我的依赖是......

implementation 'com.google.android.material:material:1.0.0-beta01'
implementation 'androidx.preference:preference:1.0.0-beta01'
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

谢谢你的帮助.



1> Hai Zhang..:

实际上有一个更好的黑客来解决这个问题,也有资源覆盖:

创建res/values-sw360dp-v13/values-preference.xml:




    false
    0dp

修正的默认值iconSpacePreserved所有Preference; 在修复了PreferenceCategory.


最佳解决方案,因为它立即修复*ALL*首选项

2> T-igra..:

我解决了样式的解决方法.它适用于PreferenceCategory.

对于Preference,只需使用:app:icOnSpaceReserved="false".

[styles.xml]






@color/colorAccent

从"@ layout/preference_category_material"复制[_preference_category_material.xml].

android:paddingLeft ="0dp"替换@ dimen/preference_category_padding_start.添加自定义颜色@ color/_preference_fallback_accent_color.




推荐阅读
author-avatar
dfpkgih
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有