通过android首选项更改活动的字体大小
我有一个问题,我正在尝试根据用户在共享首选项中的选择调整字体大小,我通过使用以下背景色来实现这一点:通过android首选项更改活动的字体大小,android,xml,sharedpreferences,Android,Xml,Sharedpreferences,我有一个问题,我正在尝试根据用户在共享首选项中的选择调整字体大小,我通过使用以下背景色来实现这一点: <ListPreference android:summary="@string/main_bg_list_pref_summary" android:title="@string/main_bg_list_pref_title" android:key="main_view_bg_list_pref" andr
<ListPreference
android:summary="@string/main_bg_list_pref_summary"
android:title="@string/main_bg_list_pref_title"
android:key="main_view_bg_list_pref"
android:entries="@array/color_names"
android:entryValues="@array/color_values"
android:defaultValue="white"/>
我的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFF"
android:gravity="center"
android:id="@+id/main_layout">"
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/mainscreen_title"
android:textSize="25sp"
android:textColor="#000"
android:gravity="center"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/main_prompt"
android:textSize="15sp"
android:layout_marginTop="20dp"
android:gravity="center"
android:textColor="#000"
/>
<Button
android:id="@+id/post_review"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:text="@string/post_review_txt"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/buttonshape"
/>
<Button
android:id="@+id/view_reviews"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:text="@string/view_review_txt"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/buttonshape"
/>
<Button
android:id="@+id/add_category"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:text="@string/add_category_txt"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/buttonshape"
/>
<Button
android:id="@+id/view_remote_categories"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:text="@string/view_remote_categories_txt"
android:textSize="15sp"
android:textColor="#FFFFFF"
android:background="@drawable/buttonshape"
/>
</LinearLayout>
我尝试对特定文本视图的字体大小进行类似的设置,但由于没有设置背景色这样的可用方法,我不确定这是如何工作的,到目前为止,我有以下方法:
<ListPreference
android:summary="@string/main_font_summary"
android:title="@string/main_font_title"
android:key="main_font_pref"
android:entries="@array/font_names"
android:entryValues="@array/font_values"
android:defaultValue="15sp"/>
阵列:
<string-array name="font_names">
<item name="large">Large Font</item>
<item name="medium">Medium Font</item>
<item name="small">Small Font</item>
</string-array>
<string-array name="font_values">
<item name="large">20sp</item>
<item name="medium">15sp</item>
<item name="small">10sp</item>
</string-array>
是否有某种方法可以以某种方式将textview ID作为目标并通过prefs进行更改?有-setTextSize将更改文本大小我尝试此操作时出错,当我尝试分析数据时:String font=prefs.getStringmain\u font\u pref,15;float-fontSize=float.parseFloatfont;TextView mainText=TextViewfindViewByIdR.id.main\u text;mainText.setTextSizefontSize;不要将pref保存为字符串并尝试转换它。只需将pref保存为float并将其检索为float即可。
<ListPreference
android:summary="@string/main_font_summary"
android:title="@string/main_font_title"
android:key="main_font_pref"
android:entries="@array/font_names"
android:entryValues="@array/font_values"
android:defaultValue="15sp"/>
<string-array name="font_names">
<item name="large">Large Font</item>
<item name="medium">Medium Font</item>
<item name="small">Small Font</item>
</string-array>
<string-array name="font_values">
<item name="large">20sp</item>
<item name="medium">15sp</item>
<item name="small">10sp</item>
</string-array>