安卓设置:调整字体大小



在手机的设置中,我可以全局更改应用程序的字体大小吗?

设置>显示>字体大小

我是否可以使字体大小(小,正常,大,非常大)也使用Java读取,如果适用,仅为我的应用程序设置?我尝试更改字体大小,如下所示。

Button buttonbig = (Button) dialog.findViewById(R.id.btn_big);
    buttonbig.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            float fScale = getResources().getConfiguration().fontScale;
            String fontSize = String.valueOf(fScale);

            conf.fontScale =fScale + 0.15f;
            getResources().getConfiguration().setTo(conf);
            TextView textView = (TextView) dialog.findViewById(R.id.lbl_size_act);
            textView.setText(fontSize);

        }
    });
    dialog.show();

我的文本视图向我显示新的大小。但是,文本保持相同大小。有谁知道出了什么问题?

首先,我强烈建议不要覆盖语言、字体大小或其他设置,因为正如您所指出的,这是您应该在全球范围内做的事情。

如果要为整个应用程序设置它,则正确的位置是在 Application .

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Configuration configuration = getResources().getConfiguration();
        configuration.fontScale *= 2;
        getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
    }
}

如果要在运行时更改它,也可以在应用程序中设置它,但必须完成并重新启动活动才能生效。

如果您只想更改此文本视图的字体大小,请尝试一下

 textView.setTextSize(float);

http://developer.android.com/reference/android/widget/TextView.html#setTextSize(浮子)

最新更新