以编程方式更改android中Button的宽度

Joy*_*son 39 android

如何更改widthButton程序.我能够改变,height但宽度不会改变.以下是我的代码段

private void createButton(final String label)
{

    Button button = new Button(this);
    button.setText(label);


    button.setWidth(10);
    button.setHeight(100);

    button.setOnClickListener(new OnClickListener() 
    {

        @Override
        public void onClick(View v) 
        {


        }
    });
    mMenuContainer.addView(button, mMenuItemLayoutParamters);


}
Run Code Online (Sandbox Code Playgroud)

widthButton占据了width屏幕.

MKJ*_*ekh 89

button.setLayoutParams(new LinearLayout.LayoutParams(10, 100));

应该为你工作.

在线有一个很棒的例子:检查一下


你应该申请LayoutParamsViewGroup包含您的View.也就是说,如果你的按钮在里面RelativeLayout,你应该使用RelativeLayout.LayoutParams

  • 重要的是要注意:你应该应用包含你的`View`的`ViewGroup`的`LayoutParams`.也就是说,如果你的按钮在`RelativeLayout`里面,你应该使用`RelativeLayout.LayoutParams`. (4认同)

Aqi*_*mid 42

你可以这样做.

LinearLayout.LayoutParams params = button.getLayoutParams();
params.width = 100;
button.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

但是在将按钮添加到父级之后,请确保执行此操作.并且LinearLayout.LayoutParams当亲本是使用LinearLayout并且当父RelativeLayout使用RelativeLayout.LayoutParams.

  • 谢谢,解决了我的问题:D! (3认同)