2014-10-06 4 views
0

Мне нужно, чтобы изменить размер 3 кнопки, чтобы соответствовать каждому размеру экрана, так что я пытался использовать вертикальный линейный макет, но результат состоит в следующем:Изменение размера кнопки на различных размерах экрана Android

enter image description here

Это результат я получаю на ldpi/MDPI устройств, но при переходе на более высокое разрешение, как ИПЧР я получаю это:

enter image description here

третья кнопка получает в увеличенном виде.

Как изменить размер 3 кнопок, чтобы они соответствовали экрану?

+0

вы используете изображения кнопок – Ranjithkumar

+0

я использую кнопку с фоновым изображением – Signo

+1

2: 3: 4: 6: 8 Соотношение масштабирования MDPI: ИПЧР: xhdpi: xxhdpi: xxxhdpi , Попробуйте установить правильный источник изображения – Ranjithkumar

ответ

2

попробовать это:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="3" > 


    <Button 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="b1" /> 

    <Button 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="b2" /> 

    <Button 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="b3" /> 

</LinearLayout> 
3

место кнопки в linearlayout (horizontal)

добавить android:weightSum="3" линейной компоновки

добавить android:layout_weight="1" для каждого из buttons и сделать их layout_width="0dp"

Это будет изменять размеры (ширина) buttons ответно на размер устройства.

3

Попробуйте это:

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="50dp" 
     android:background="#5E616B" 
     android:gravity="center_horizontal" 
     android:orientation="horizontal" 
     android:weightSum="1" > 

     <ImageButton 
      android:id="@+id/btn_pingsheet" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/pingicon" /> 

     <ImageButton 
      android:id="@+id/btn_myprofile" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/profile" /> 

     <ImageButton 
      android:id="@+id/btn_mycircle" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/mycircle" /> 

     <ImageButton 
      android:id="@+id/btn_sendping" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/sendping" /> 

     <ImageButton 
      android:id="@+id/btn_settings" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="2dp" 
      android:layout_weight=".2" 
      android:background="@drawable/footer_button_pressed" 
      android:src="@drawable/settings" /> 
    </LinearLayout> 

Основная концепция здесь взять линейную компоновку с weightsum 1.Then разделить этот вес на каждой из кнопок (я взял 5 кнопок, так как разделить .2 для каждого). Вы можете разделить вес с атрибутом android:layout_weight=".2". Также не забудьте , чтобы установить ориентацию линейного макета в горизонтальное положение.

+0

Спасибо, что это сработало! – Signo

+0

Добро пожаловать .... счастливый друг ... – kgandroid