试图改变按钮的宽度

时间:2013-04-05 22:09:40

标签: android

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

layouut

 <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"

    />  

3 个答案:

答案 0 :(得分:1)

您需要修改按钮的LayoutParams。

  

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

其中xxx是按钮的高度。您可以通过

检索它
ViewGroup.LayoutParams params = mBut.getLayoutParams();
params.height;

检查this post

答案 1 :(得分: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" />

答案 2 :(得分: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);