2013-04-05 4 views
0

Я пытаюсь получить ширину экрана, а затем изменить ширину кнопки. Я использую setWidth, и ширина не меняется (я установил его на маленький номер, 30, поэтому я могу определить, изменяется ли размер. код mBut = (кнопка) 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" 

    /> 

ответ

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

Вы должны изменить LayoutParams вашей кнопки.

mBut.setLayoutParams (новый LinearLayout.LayoutParams (30, xxxx));

где xxx - высота вашей кнопки. Вы можете получить его

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

Проверить this post

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); 
Смежные вопросы