43

プログラムwidthで のを変更する方法。Buttonを変更できます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);


}

しかし、widthの は画面のButtonを占有しwidthます。

4

8 に答える 8

93

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

あなたのために働くべきです。

これにはオンラインで素晴らしい例が1つあります:これを確認してください


を含むを適用する必要がLayoutParamsありViewGroupますView。つまり、ボタンが内側RelativeLayoutにある場合は、RelativeLayout.LayoutParams

于 2012-07-02T12:52:37.597 に答える
46

このようにできます。

LinearLayout.LayoutParams params = button.getLayoutParams();
params.width = 100;
button.setLayoutParams(params);

ただし、ボタンを親に追加した後は、必ずこれを行ってください。andLinearLayout.LayoutParamsは、parent が でLinearLayout、parent がRelativeLayoutuseの場合に使用されますRelativeLayout.LayoutParams

于 2012-07-02T12:48:56.163 に答える
2

私はこれを使用して解決しました:

//ImageButton creation
final ImageButton server_icon_button=new ImageButton(getApplicationContext());
//setting background image in drawable
server_icon_button.setBackgroundResource(R.drawable.bonsai);
//After adding ImageButton to the parent i done this
server_icon_button.getLayoutParams().height=180;
server_icon_button.getLayoutParams().width=100;

これが助けになることを願っています。

于 2016-08-22T09:56:44.453 に答える
0

だけ使ってみるmMenuContainer.addView(button);

于 2012-07-02T12:49:58.423 に答える