如何更改首选项的字体大小?

How to change the font size of a preference?

我不知道如何更改几个首选项的字体大小。我试过 this post 但没用。这样做之后,我的图标没有出现。 这就是现在的样子,但我认为 Preference 的标题太大了。 这是我的屏幕当前的样子:

这是我的 pref_headers.xml xml 文件的代码:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <Preference
        android:key="@string/key_pref_general"
        android:title="@string/label_pref_general"
        android:icon="@drawable/ic_person"/>

        <Preference
            android:key="@string/key_pref_categories"
            android:title="@string/label_pref_categories"
            android:icon="@drawable/ic_list"/>

        <Preference
            android:key="@string/key_pref_productivity"
            android:title="@string/label_pref_productivity"
            android:icon="@drawable/ic_chart"/>

        <Preference
            android:key="@string/key_pref_delete"
            android:title="@string/label_pref_delete"/>


</PreferenceScreen>

试试这个

    <PreferenceCategory
    android:title="Category"
    android:textSize="20px">

    <Preference
    android:key="@string/key_pref_general"
    android:title="@string/label_pref_general"
    android:icon="@drawable/ic_person"/>

    <Preference
        android:key="@string/key_pref_categories"
        android:title="@string/label_pref_categories"
        android:icon="@drawable/ic_list"/>

    <Preference
        android:key="@string/key_pref_productivity"
        android:title="@string/label_pref_productivity"
        android:icon="@drawable/ic_chart"/>

    <Preference
        android:key="@string/key_pref_delete"
        android:title="@string/label_pref_delete"/>

</PreferenceCategory>

我有一个解决方案 you.you 可以通过管理布局文件根据特定偏好更改字体大小。

这是您编辑的 pref_headers.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Preference
    android:key="general"
    android:title="General"
    android:icon="@drawable/ic_person_black_24dp"
    android:layout="@layout/font_layout"/>

<Preference
    android:key="categories"
    android:title="Categories"
    android:icon="@drawable/ic_list_black_24dp"
    android:layout="@layout/font_layout"/>

<Preference
    android:key="productivity"
    android:title="Productivity"
    android:icon="@drawable/ic_timeline_black_24dp"
    android:layout="@layout/font_layout"/>

<Preference
    android:key="delete_this_accnt"
    android:title="Delete this Account"
    android:layout="@layout/font_layout"/>
</PreferenceScreen>

这是布局(font_layout.xml)文件,您可以从中更改字体大小或您想要更改的任何属性,如颜色等:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="8dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
    android:id="@android:id/icon"
    android:layout_width="40dp"
    android:paddingStart="4dp"
    android:paddingEnd="4dp"
    android:layout_height="40dp" />

<TextView
    android:id="@android:id/title"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:textColor="#201f1f"
    android:layout_height="wrap_content"
    android:textSize="18sp" />
</LinearLayout>

希望对您有所帮助!

您也可以根据自己的风格进行更改

 <!-- Custom Preference Theme inherits from the v14 support library Material Theme -->
<style name="AppPreferenceTheme" parent="@style/PreferenceThemeOverlay.v14.Material">
    <item name="android:textSize">14sp</item>
</style>

<!-- And set preference Theme in your Main Theme-->
<style name="YourTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="preferenceTheme">@style/AppPreferenceTheme</item>
</style>