如何以编程方式编辑fontsize?

时间:2013-11-07 17:06:53

标签: android android-layout android-fragments android-textattributes

这个问题比标题更复杂。 我有一个java类,它映射服务器的值。现在我以编程方式设置文本大小,如下所示:

headerButton.setTextSize(Application.getAppResources().getDimensionPixelSize(R.dimen.manage_markets_text));

并将manage_markets_text的尺寸设置为15sp(布局),value-xlarge:20sp,值 - 大尺寸18sp。现在,对于xlarge平板电脑,它可以根据需要获得20sp。然而对于htcone手机,它是映射到一些大的字体大小,我甚至不知道它来自哪里(看起来像40-50sp)。现在我改变了代码,接受getDimension而不是Pizelsize,我仍然有同样的问题。如果我设置了settextsize(r.dimen.manage_market_text),它会显示空白页面。我该如何解决这个问题?任何线索?

1 个答案:

答案 0 :(得分:0)

我认为您希望在XML中设置它。

<Button
    ...
    android:textSize="@dimen/manage_market_text"
    ...
/>

另外,使用values-xlarge有点老式。根据

http://developer.android.com/guide/practices/screens_support.html

您应该将文件格式化为更像value-sw600dp。

要回答原始问题,请写下

Resources res = this.getResources();
headerButton.setTextSize(res.getDimension(R.dimen.manage_market_text))

应该做的伎俩