Итак, я последовал за this учебным пособием, но я не уверен, как написать последнюю часть, чтобы включить различные семейства шрифтов, цвета шрифтов и цвета фона.Создание экрана настроек Android
Я хочу использовать Courier New, Times New Roman, Monospace, Sans-Serif (DEFAULT) для выбора семейства шрифтов. Черный, белый, зеленый (# 00FF00) и Midnight Blue (# 003366) для цветов шрифтов. Наконец, цвета фона будут белого, черного, розового (# FF00FF) и коричневого (# 663300).
У меня есть экран настроек, достаточно хорошо отображающий этот учебник, но я просто не уверен, как работает последний бит учебника. Если кто-то может дать мне пример из вышеупомянутых пунктов, которые я заметил, это было бы большой помощью.
Вот массивы в моей strings.xml:
<!-- Prefs Arrays -->
<!-- Background Colours -->
<string-array name="bg_colours">
<item>White</item>
<item>Black</item>
<item>Pink</item>
<item>Brown</item>
</string-array>
<string-array name="bg_values">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
<!-- Font Colour -->
<string-array name="font_colours">
<item>Black</item>
<item>White</item>
<item>Green</item>
<item>Blue</item>
</string-array>
<string-array name="font_values">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
<!-- Font Family -->
<string-array name="font_family">
<item>Courier New</item>
<item>Times New Roman</item>
<item>Monospace</item>
<item>Sans-Serif (Default)</item>
</string-array>
<string-array name="family_values">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
Здесь вы PreferenceCategory в моем prefs.xml:
<PreferenceCategory
android:title="@string/prefs_options">
<ListPreference
android:key="pref_type1"
android:title="@string/prefs_bg_colour"
android:summary="Select background colour"
android:entries="@array/bg_colours"
android:entryValues="@array/bg_values"
android:defaultValue="1"
/>
<ListPreference
android:key="pref_type2"
android:title="@string/prefs_font_colour"
android:summary="Select font colour"
android:entries="@array/font_colours"
android:entryValues="@array/font_values"
android:defaultValue="1"
/>
<ListPreference
android:key="pref_type3"
android:title="@string/prefs_font_family"
android:summary="Select font family"
android:entries="@array/font_family"
android:entryValues="@array/family_values"
android:defaultValue="1"
/>
</PreferenceCategory>
EDIT: Для того, чтобы показать Pref.java файл:
public class Prefs extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.prefs);
}
// String
public static String Read(Context context, final String key) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
return pref.getString(key, "");
}
public static void Write(Context context, final String key, final String value) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
// font_editor = font_pref.edit();
SharedPreferences.Editor font_editor = settings.edit();
// font_editor.putString("font_style", font_style);
// font_editor.putString(key, value);
font_editor.putString(key, value);
// font_editor.commit();
font_editor.commit();
}
// Boolean
public static boolean ReadBoolean(Context context, final String key, final boolean defaultValue) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
return settings.getBoolean(key, defaultValue);
}
public static void WriteBoolean(Context context, final String key, final boolean value) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean(key, value);
editor.commit();
}
}
У меня это уже есть. См. Приведенный выше отредактированный пример. –
Итак, что именно вы хотите сделать сейчас? Прочтите их предпочтения из других источников? –
Что бы ни было в массиве строк, я хочу присвоить ему значение, чтобы все приложение изменилось на этот цвет. Таким образом, у меня есть экран предпочтений, показанный в учебнике, но у меня нет никаких назначенных значений, таких как #FFFFFF для второго элемента в мастере colorrs. –