解像度密度に基づいてtextSizeを変更するにはどうすればよいですか?
私はSOでいくつかの方法を見つけましたが、それらはすべてJavaコードを使用してそれを行います。
ただし、XMLにtextSizeを設定する場所と、Javaコードに設定する場所があるため、Javaを使用しないアプローチが必要です。
xmlでは、これを行います
android:textSize="@dimen/FONT_SIZE_SMALL"
ただし、Javaコードを介して設定する必要がある場合があります。
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.FONT_SIZE_SMALL);
何かアイデアはありますか?それは実行可能ですか?
回答:
回答№1は0つかいます textSize
に sp
xmlの単位。すべての解像度に調整されます。
お役に立てれば。
更新 また参照してください 解像度の異なるテキストサイズ これは、さまざまな解像度のいくつかのスケーリング係数を提案します。
回答№2の場合は0
あなたはでサイズを宣言することができます <dimen>
解像度固有の値フォルダーのdimens.xmlのタグ。
例えば
<dimen name="my_text_view_size">12sp</dimen>
解像度ごとに複数の値ファイルを作成し、解像度ごとに同じ定数に異なる値を割り当てることができます。次に、定数をtextsizeに割り当てます。
詳細はこちらをご確認ください https://stackoverflow.com/a/16910589/3329488