ボタンに描いた円があります。ボタンは、レイアウトに基づいてサイズを変更できます。今、円の中のテキストに最適なフォントサイズで円の真ん中にテキストを描くのに役立つコードを探しています。
レイアウトによってボタンの寸法が変わるため、テキストのフォントサイズを設定できません
ボタンに描いた円があります。ボタンは、レイアウトに基づいてサイズを変更できます。今、円の中のテキストに最適なフォントサイズで円の真ん中にテキストを描くのに役立つコードを探しています。
レイアウトによってボタンの寸法が変わるため、テキストのフォントサイズを設定できません
onGlobalLayoutListener
ボタンに追加してみることができます:
myButton.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// Here your button is added to layout and has it's height and width
}
});
幅に応じて、フォントサイズを設定できます。
myButton.setTextSize(TypedValue.COMPLEX_UNIT_PX, [SIZE]);
そのリスナーのボタンのサイズはピクセル単位で取得されるため、テキストサイズもピクセル単位で設定する必要があることに注意してください。