0

我正在尝试获取屏幕的宽度,然后更改按钮的宽度。我正在使用 setWidth,并且宽度没有改变(我将它设置为一个小数字,30,所以我可以判断大小是否改变。代码 mBut = (Button)findViewById(R.id.butRington); // this不起作用,将尺寸设置为小,这样我就可以真正告诉 mBut.setWidth(30); mBut.setOnClickListener(this);

布局

 <LinearLayout 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" 
android:orientation="horizontal" > 

        <Button
        android:id="@+id/butVol"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:textSize="24px"
        android:text="Volume"   
        android:textColor="#ff0000ff"

    />

    <Button
        android:id="@+id/butRington"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:textSize="24px"
        android:text="Rington"  
        android:textColor="#ff0000ff"

    />  

4

3 回答 3

1

您需要修改按钮的 LayoutParams。

mBut.setLayoutParams(new LinearLayout.LayoutParams(30, xxxx));

其中 xxx 是按钮的高度。您可以通过以下方式检索它

ViewGroup.LayoutParams params = mBut.getLayoutParams();
params.height;

检查这个帖子

于 2013-04-05T22:13:53.800 回答
0

将 layout_widht 挂到 wrap_content 后,我​​可以将宽度更改为我需要的每个尺寸。

<Button
    android:id="@+id/butRington"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="R"
    android:textColor="#ff0000ff"
    android:textSize="24px" />
于 2013-04-05T22:24:57.200 回答
0

获取屏幕宽度:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x

现在你需要得到你的按钮,然后设置新的宽度:

Button b = (Button) findViewById(R.id.button1);
b.setWidth(width);
于 2013-04-05T22:38:31.417 回答