2012-01-19 142 views
1

我正在開發一個小的Android應用程序,它有一些從Java代碼動態創建的方形按鈕。我使用Absolute.LayoutParams方法給他們的寬度和高度,但我得到了棄用警告。如何在Android中爲按鈕設置寬度和高度?

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

我想這太:

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

但它無法正常工作。還有第三種方法可以輕鬆清潔嗎?

預先感謝您!

回答

1

使用的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

3

我認爲這將是

LayoutParams params = new LayoutParams(width,height); 
button.setLayoutParams(params); 
相關問題