2016-03-04 178 views
-1

在手機的設置中,我可以全局更改應用的字體大小。android設置:調整字體大小

設置>顯示>字體大小

我可以做的字體大小(小,中,大,非常大),也看過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(); 

我的文本視圖顯示新的大小。然而,文本仍然是相同的大小。讓任何人知道什麼是錯的?

+0

[從設置閱讀字體大小]的可能的複製如何(http://stackoverflow.com/questions/ 16544931 /讀字體大小從 - 設置) –

回答

0

首先,我強烈建議不要重寫語言,字體大小或其他設置,因爲正如您所指出的,這是您應該在全球範圍內執行的操作。

如果你想爲你的整個應用程序設置它,正確的位置應該在Application

public class App extends Application { 

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

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

如果你想在運行時改變它,你也會設置它在應用程序中,但你必須完成並重新啓動您的活動才能生效。