我正在尝试更改动态创建的width
height
Buttons
但我的代码无效。 Buttons
保持相同的默认大小。有谁知道为什么这不起作用?
我认为这可能与这一行有关:
myButton.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
问题可能是我不应该每次创建新的LinearLayout
参数,而是将其添加到现有的LayoutParam
?
你们有什么想法?
public void onClick(View view)
{
LinearLayout linearLayout2 = new LinearLayout(view.getContext());
linearLayout2.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams rlp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
int size = enter_txt.getText().toString().length();
for (int i=0; i<size; i++){
Button myButton = new Button(view.getContext());
myButton.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myButton.setWidth(100);
myButton.setHeight(100);
myButton.setBackgroundResource(R.drawable.button);
linearLayout2.addView(myButton, rlp);
}
}
答案 0 :(得分:1)
更改此代码:
myButton.setWidth(100);
myButton.setHeight(100);
对此:
myButton.getLayoutParams().width = 100;
myButton.getLayoutParams().height = 100;
是的,在您的情况下,您可以替换:
myButton.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
致:
myButton.setLayoutParams(rlp);
答案 1 :(得分:0)
您可以使用接收宽度和高度的LinearLayout.LayoutParams
的其他构造函数:
myButton.setLayoutParams(new LinearLayout.LayoutParams(100, 100));