gpt4 book ai didi

java - 具体来说,.setWidth 或 .setHeight 使用哪种 Integer?

转载 作者:行者123 更新时间:2023-12-01 23:17:35 24 4
gpt4 key购买 nike

所以我想制作一个宽度为屏幕一半的按钮。我希望它可以在任何设备屏幕尺寸上工作,因此不能选择输入像素值。我从这段代码中获取我的整数。

   String widthString = String.valueOf(getWindowManager().getDefaultDisplay().getWidth());
double widthDouble = Double.parseDouble(widthString);
double result = widthDouble / 2;
String resultString = String.valueOf(result);
int myNum = Integer.parseInt(resultString);

然后当我像这样将整数运行到按钮中时。

  Button myButton = new Button(this);
myButton.setWidth(myNum);

当我尝试运行它时出现错误...有关如何使其工作的任何想法。我也欢迎您建议的任何其他方法。

谢谢

最佳答案

您很可能会遇到 NumberFormatException,因为将整数除以 2 会得到以 .5 结尾的数字。该点将导致 parseInt() 失败,整数没有句点。

可以只是捕获异常,但我建议您将结果double转换为int因为 getWidth() 无论如何都会返回一个整数,所以你不能超出范围。我也看不出字符串废话的意义,除非您在 TextView 或类似的东西中显示这些数字。

例如

int myNum = (int) (getWindowManager().getDefaultDisplay().getWidth()/2);

这相当于

double widthDouble = getWindowManager().getDefaultDisplay().getWidth()/2;
int myNum = (int) widthDouble;

关于java - 具体来说,.setWidth 或 .setHeight 使用哪种 Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20984943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com