数値または文字に基づいてTextViewの幅を設定したい。したがって、常に3文字の幅にしたい場合は、それを設定すると、textSize設定に基づいて調整されます。これがないと、幅を50dip程度に設定する必要がありますが、フォントサイズによっては正しい場合とそうでない場合があります。
minEms
おそらくより良い答えです。
minEms
おそらくより良い答えです。
回答:
ems
、一般的な信念に反して(または少なくともここのemsに関するほとんどのスレッドから)、単一の「M」の幅に基づいていません。
もともとはタイポグラフィと同じでしたが、Androidを含むデジタルメディアでは、使用する書体のサイズ、つまり高さ(アクセント記号や発音区別符号のパディングを除く)に意味がシフトしました。
つまりems
、TextViewにを指定すると、それがtextSize
ベースとして使用され、ems
指定された値が乗算されます。
サンプルとして、16sp TextViewems
を4に設定すると、その幅は64sp幅になります。includeFontPadding
ConstraintLayout内で2つのTextView(falseに設定)を並べて使用することで、簡単にテストできます(を活用するためlayout_constraintDimensionRatio
)。
sp
。