首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PreferenceScreen中的文本大小

PreferenceScreen中的文本大小
EN

Stack Overflow用户
提问于 2010-09-01 01:57:52
回答 2查看 9.6K关注 0票数 5

我有一个xml文件,它定义了一些首选项屏幕,如下例所示

代码语言:javascript
复制
<PreferenceScreen  xmlns:android="http://schemas.android.com/apk/res/android"          
   android:key="root_preferencescreen">

    <PreferenceScreen  android:key="general_sett" android:title="general settings" />
     ....

    <PreferenceScreen  android:key="extras_sett" android:title="extras settings" />

</PreferenceScreen> 

我希望能够增加首选项屏幕的文本字体大小,但因为在首选项屏幕内没有android:textsize标签,我不知道如何实现这一点!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-01 02:26:07

您可以创建如下所示的TextView布局xml:

代码语言:javascript
复制
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    style="?android:attr/listSeparatorTextViewStyle"
    android:textColor="@android:color/white"
    android:id="@+android:id/title"
/>

并在preferences.xml中设置首选项类别的布局,如下所示:

代码语言:javascript
复制
<PreferenceCategory
    android:title="Category Title"
    android:layout="@layout/pref_category"
/>

只要TextView的id为@+android:id/title,就可以让布局看起来像你想要的任何样子。还有一种方法可以用我还没有弄清楚的样式来做到这一点。

票数 7
EN

Stack Overflow用户

发布于 2016-05-10 20:39:46

您可以简单地将android:textSize添加到首选项屏幕的主题中:

例如:

代码语言:javascript
复制
<style name="settingsTheme" parent="PreferenceThemeOverlay">
    <item name="colorAccent">@color/color_ten</item>
    <item name="android:background">@color/colorPrimaryLight</item>
    <item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item>
    <item name="android:textColorPrimary">@color/colorTextBodyLight</item>
    <item name="android:textColorSecondary">@color/colorTextCaptionLight</item>
    <item name="android:textSize">14sp</item>
</style>

您的SettingsActivity类:

代码语言:javascript
复制
public class SettingsActivity extends AppCompatActivity {
private Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);

    toolbar = (Toolbar)findViewById(R.id.toolbar_settings);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportFragmentManager().beginTransaction()
            .replace(R.id.bodylayout, new PrefsFragment())
            .commit();


}

@Override
protected void onPause() {
    super.onPause();
}
}

PrefsFragment类:

代码语言:javascript
复制
public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {

    @Override
    public void onCreatePreferences(Bundle bundle, String s) {

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        final Context myContext = this.getActivity();
    //set your theme
        myContext.setTheme(R.theme.settingsTheme);

        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settingspreference);
    //do other stuffs
        }
    //.....
        }
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3611809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档