通过代码更改按钮宽度和高度

时间:2014-11-06 16:05:33

标签: android button layout size

我正在尝试更改动态创建的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);
        }
     }

2 个答案:

答案 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));