【问题标题】:android Settings: adjust font sizeandroid设置:调整字体大小
【发布时间】:2016-06-18 17:54:54
【问题描述】:

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

设置>显示>字体大小

我能否使字体大小(小、正常、大、非常大)也可以用 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();

我的文本视图显示了新的尺寸。但是,文本的大小保持不变。有人知道出了什么问题吗?

【问题讨论】:

标签: android fonts font-size


【解决方案1】:

首先,我强烈建议不要覆盖语言、字体大小或其他设置,因为正如您所指出的,这是您应该全局执行的操作。

如果您想为整个应用设置它,那么正确的设置位置是Application。

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        Configuration configuration = getResources().getConfiguration();
        configuration.fontScale *= 2;
        getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
    }
}

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

【讨论】:

    【解决方案2】:

    如果你只想改变这个textView的字体大小,试试怎么样

     textView.setTextSize(float);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      • 2020-05-17
      • 2012-09-18
      • 1970-01-01
      相关资源
      最近更新 更多