这可能是一个愚蠢的问题,但我没有在互联网上找到任何答案。
我想在按下另一个按钮时创建一个填满整个屏幕的按钮(宽度= 100%,高度= 100%)。
因此我尝试了这个:
Button button = new Button();
button.setText("fills screen");
button.setWidth(100);
button.setHeight(100);
问题是setWidth和setHeight方法正在处理px而不是百分比。
我需要添加什么来使用百分比值而不是px值?
答案 0 :(得分:0)
我将在这里链接一篇详细介绍如何以编程方式设置宽度的帖子 programmatically set button width to 50 of parent linearlayout
你可以使用那种方法(除了不要除以2 JohnEye在他的回答中演示)
或者您可以使用LayoutParams
类并创建一个将设置参数的新实例,并将这些参数传递给您的对象。
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
button.setLayoutParams(lp); // Assuming you've already initiated it of course as above
MATCH_PARENT将填充视图。如果根视图是层次结构上的最高视图,那么这将起作用,因为它将填满整个视图。如果没有,则需要将按钮移动到那里。 (可能是您的linearLayout或其他视图)
希望这会有所帮助。