1. ホーム
  2. android

[解決済み] 実行時にxmlからdimensionを使用してテキストサイズを設定するには?

2022-10-18 12:34:21

質問

dimens.xmlに、以下のような記述があります。

<dimen name="text_medium">18sp</dimen>

実行時に、この値を取得して、テキストビューのテキストサイズを設定する。

int size = context.getResources().getDimensionPixelSize(R.dimen.text_medium);
textView.setTextSize(size).

10 インチ タブレット (1280 x 800) ではすべて問題ありませんが、携帯電話 (800 x 480) では、テキスト ビューのフォントが非常に大きくなっています。タブレットでは、サイズは 18 に等しく、携帯電話では 27 です。

で手動でサイズを設定すると

textView.setTextSize(size)

の場合、どちらの端末でも通常のサイズになります。

どのように解決するのですか?

でディメンションを追加します。 dimens.xml :

   <dimen name="text_medium">18sp</dimen>

サイズをコードで設定します。

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.text_medium));