在我的应用程序中,我会按屏幕尺寸按比例控制按钮的大小:
int screenWidth = displaymetrics.widthPixels;
int screenHeight = displaymetrics.heightPixels;
int buttonWidth = (int) (screenWidth * 0.07);
int buttonHeight = (int) (buttonWidth * 1.2);
该按钮占用设备屏幕尺寸的相同空间(例如5%)。我现在想要的是按钮的文本占用每个设备上按钮区域的相同空间。
我试过了:
int textSize = (int) (buttonHeight * 0.145);
myButton.setTextSize((float) (textSize));
我不知道为什么但是在较大的屏幕(例如平板电脑)上,文本使用的按钮空间比在较小的屏幕上少得多。 谢谢 ! 也许
答案 0 :(得分:0)
尝试指定测量单位,如下所示:
myButton.setTextSize(TypedValue.COMPLEX_UNIT_PX, (float) (textSize));
setTextSize
默认使用sp
单位而非px,因此可能会导致您的问题!