所以我遵循this教程,但我不确定如何编写最后一部分以合并不同的字体系列,字体颜色和背景颜色。
我想使用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();
}
}
答案 0 :(得分:0)
基本上就是这样。
只需要一项活动。
public class SettingsActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
然后致电以从您的代码中显示它。