您好,我有以下扩展PreferenceFragmentCompat
的片段:
class SettingsFragment : PreferenceFragmentCompat(){
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
Log.d(TAG, "onCreatePreferences")
addPreferencesFromResource(R.xml.app_preferences)
}
...
}
xml 如下:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Catogeory 1">
<SwitchPreference
android:key="key1"
android:title="Switch Preference"
android:summary="Switch Summary"
android:defaultValue="true" />
<EditTextPreference
android:key="key2"
android:title="EditText Preference"
android:summary="EditText Summary"
android:dialogMessage="Dialog Message"
android:defaultValue="Default value" />
<CheckBoxPreference
android:key="key3"
android:title="CheckBox Preference"
android:summary="CheckBox Summary"
android:defaultValue="true"/>
</PreferenceCategory>
</PreferenceScreen>
在预览中看起来不错,但是在我的模拟器上,左侧有很多填充,如下所示:
我如何做到这一点,使文本更靠近屏幕边缘
谢谢
答案 0 :(得分:1)
app:iconSpaceReserved="false"
在xml
中使用此属性。
答案 1 :(得分:1)
首先,这个问题是Android: How to remove margin/padding in Preference Screen和PreferenceFragmentCompat has padding on PreferenceCategory that I can't get rid of的重复。
正如Sah Rishabh所说,您可以通过添加来解决此问题
app:iconSpaceReserved="false"
到xml中的每个首选项标签。
但是,这不是一个好的解决方案,因为它不适用于首选项类别(标题仍然有点太正确了),并且需要在每个标签中添加一些内容。
创建包含以下内容的
res/values-sw360dp-v13/values-preference.xml
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools"> <bool name="config_materialPreferenceIconSpaceReserved" tools:ignore="MissingDefaultResource,PrivateResource">false</bool> <dimen name="preference_category_padding_start" tools:ignore="MissingDefaultResource,PrivateResource">0dp</dimen> </resources>