用像素设置按钮大小

时间:2014-03-10 16:20:00

标签: java android

在我的应用程序中,我会按屏幕尺寸按比例控制按钮的大小:

    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));

我不知道为什么但是在较大的屏幕(例如平板电脑)上,文本使用的按钮空间比在较小的屏幕上少得多。 谢谢 ! 也许

1 个答案:

答案 0 :(得分:0)

尝试指定测量单位,如下所示:

myButton.setTextSize(TypedValue.COMPLEX_UNIT_PX, (float) (textSize));

setTextSize默认使用sp单位而非px,因此可能会导致您的问题!