1
我試圖在RelativeLayout
中動態放置幾個按鈕。問題是,即使認爲x和y座標正確計算,所有按鈕都放置在相同的位置。使用LayoutParams
和設置marginRight
,marginBottom
指定座標是否正確?在RelativeLayout中的特定位置動態放置按鈕
代碼:
layout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener()
{
@Override
public void onGlobalLayout()
{
layout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(BUTTON_WIDTH, BUTTON_HEIGHT);
int currentX = 20;
int currentY = 20;
for (Product product: controller.getProducts("pizza")){
Log.d(TAG, "CurrentY: " + currentY);
Log.d(TAG, "CurrentX: " + currentX);
Button tempButton = new Button(getActivity());
tempButton.setId(product.getId());
tempButton.setText(product.getName());
layoutParams.rightMargin = currentX;
layoutParams.bottomMargin = currentY;
tempButton.setLayoutParams(layoutParams);
layout.addView(tempButton);
if (layout.getWidth() < currentX + MARGIN_LEFT + BUTTON_WIDTH){
currentX = 20;
currentY += BUTTON_HEIGHT + MARGIN_BOTTOM;
}
else{
currentX += MARGIN_LEFT + BUTTON_WIDTH;
}
}
}
});
如何,我可以得到'BUTTON_WIDTH,BUTTON_HEIGHT,MARGIN_BOTTOMMARGIN_LEFT'我也wnated動態地放置多個按鈕。你能幫我麼。你的代碼真的幫助我很多。請進一步指導我。我是Android新手。 –