在手机的设置中,我可以全局更改应用程序的字体大小吗?
设置>显示>字体大小
我是否可以使字体大小(小,正常,大,非常大)也使用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(浮子)