Я работаю над внедрением некоторых простых настроек в приложение, которое у меня есть, и пытаюсь понять, как использовать настройку для управления представлением, определенным в файле XML. У меня есть список со следующим LinearLayout (player_row.xml), используемым для каждой строки:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:id="@+id/player_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
<TextView android:id="@+id/player_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:textColor="#F0F0F0"
android:layout_weight="1"
android:layout_marginLeft="5dp"/>
<TextView android:id="@+id/player_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:textColor="#F0F0F0"/>
</LinearLayout>
Прямо сейчас я указываю атрибут textSize вручную. Я хотел бы создать меню предпочтений, которое позволяет пользователю выбирать из нескольких вариантов, например «Маленький», «Средний» и «Большой». Я полагаю, что должен иметь возможность настроить массивы для размера записи и шрифта, а затем сослаться на это в player_row.xml, но, похоже, у меня не получается.
предпочтения.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="preference_main">
<ListPreference
android:key="fontSizePreference"
android:title="Font size"
android:entries="@array/fontSizeList"
android:entryValues="@array/fontSizeList_Values"/>
</PreferenceScreen>
массивы.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="fontSizeList">
<item>Small</item>
<item>Medium</item>
<item>Large</item>
</string-array>
<string-array name="fontSizeList_Values">
<item>22sp</item>
<item>26sp</item>
<item>30sp</item>
</string-array>
</resources>
Если это невозможно сделать, как правильно настроить макет с помощью настроек? Мой поиск привел меня к тому, что я нашел несколько ресурсов для программного доступа к настройкам, но ни один из них не кажется подходящим способом настройки макета, определенного в файле XML.