2014-01-31 3 views
-2

У меня есть пробный с линейным весом. Я установил weightSum равным 3. Поскольку у меня есть 3 кнопки, которые я хочу, чтобы они были одинакового размера, каждый из них имеет вес, равный 1. Но кнопки изменяются, когда я нажимаю на них, даже когда я взаимодействую с другими элементами в других местах они иногда меняют размер. Есть ли способ исправить размер, чтобы кнопки занимали 100% пространство, разделенное на 3 и вообще не изменяя размер? Спасибо за помощьLinearLayout вес

+2

Не могли бы вы разместить свой макет xml здесь? –

+0

@Neha оба выше уже сказали, что –

+0

@PratikButani, хотя код еще не опубликован. поэтому попросил снова отправить код. – AndyN

ответ

1

Пожалуйста, убедитесь, что вы установили ширину ваших кнопок в 0dp и layout_weight до 1 на каждую кнопку и ширину линейного макет должен быть заполнен родителем весом 3. Пожалуйста, вставьте свой XML-файл, если вы все еще сталкиваетесь с проблемой.

Для Ex рассмотрим приведенный ниже код

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/llBtnOuter" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:weightSum="3" > 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:text="Button 1" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/button2" 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:text="Button 1" 
      android:layout_weight="1" /> 

     <Button 
      android:id="@+id/button3" 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:text="Button 1" 
      android:layout_weight="1" /> 
    </LinearLayout> 

и вы получите что-то вроде этого

enter image description here

+0

Спасибо за ширину ответа 0 dp решил мою проблему – user2141889

+0

@ user2141889 Опубликовать код всегда, чтобы получить быстрый ответ –

0

Было бы более полезно, если бы вы опубликовали свой код тоже.

Если вы хотите, чтобы кнопки были одинакового размера, почему бы вам просто не использовать вес = 1 с шириной или высотой 0dp (для каждой кнопки) вместо weightSum с макетом контейнера. Это было бы решением для «... взятия 100% пространства, разделенного на 3 ...»

0
//use this code for three button with sum 3 ****************************** 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="3" > 
    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     android:layout_weight="1" /> 
    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     android:layout_weight="1" /> 
    <Button 
     android:id="@+id/button3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     android:layout_weight="1" /> 
</LinearLayout> 
</LinearLayout> 
+1

Объясните что-то с кодом. –

1

Проверьте, если вы делаете то же самое или нет

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:weightSum="3" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     android:layout_weight = "1"/> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Button" 

     /> 

    <Button 
     android:id="@+id/button3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     android:layout_weight="1" /> 

</LinearLayout> 
Смежные вопросы