所以我按照本教程进行操作,但我不确定我如何编写最后一部分来合并不同的字体系列、字体颜色和背景颜色。
我想使用 Courier New、Times New Roman、Monospace、Sans-Serif (DEFAULT) 来选择字体系列。字体颜色为黑色、白色、绿色 (#00FF00) 和午夜蓝 (#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>
这是我的 prefs.xml 中的 PreferenceCategory:
<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>
编辑:显示 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();
}
}