如何在Android中为按钮设置宽度和高度?

问题描述:

我正在开发一个小的Android应用程序,它有一些从Java代码动态创建的方形按钮。我使用Absolute.LayoutParams方法给他们的宽度和高度,但我得到了弃用警告。如何在Android中为按钮设置宽度和高度?

LayoutParams params = new LayoutParams(width,height, 0, 0); 
button.setLayoutParams(params); 

我想这太:

button.setHeight(height); 
button.setWidth(width); 

但它无法正常工作。还有第三种方法可以轻松清洁吗?

预先感谢您!

使用的AbsoluteLayout,你需要使用AbsoluteLayout.LayoutParams,而不是ViewGroup.LayoutParams

AbsoluteLayout.LayoutParams params = new AbsoluteLayout.LayoutParams(width, height, 0, 0); 
button.setLayoutParams(params); 

还要注意设置View的宽度和高度的正确方法是通过LayoutParams这样做。请参阅ViewGroup.LayoutParamsView.getLayoutParams()。您不必像第二个示例中那样手动设置宽度和高度。

但是,我强烈建议您使用RelativeLayout(或LinearLayout等)代替AbsoluteLayout,并且这是一个很好的理由。现在有很多不同尺寸的Android设备,AbsoluteLayout只是不会在所有设备上工作。从来没有,曾经使用AbsoluteLayout总是很好的做法:)。

+0

如果你的视图布局是固定的,那么使用XML来完成所有这些也许是一个更好的主意。你的代码会看起来更漂亮(如果你愿意的话,以后可以更容易地做出更改)。 – 2012-01-19 01:55:06

我认为这将是

LayoutParams params = new LayoutParams(width,height); 
button.setLayoutParams(params);