2015-04-23 1 views
0

У меня возникла большая проблема с созданием макета Android, содержащего только четыре кнопки ImageButtons.Создать макет/экран с четырьмя ImageButtons (все одинакового размера)

Он должен выглядеть следующим образом: https://cldn0.fiverrcdn.com/fiverr/t_main1/gigs/3008268/original/minimal-trend_0.jpg

На данный момент я создал TableLayout с двумя LinearLayout (по горизонтали:. Каждый из них содержит две кнопки) Но я это делаю, установить точные значения:

<ImageButton 
      android:layout_width="178dp" 
      android:layout_height="260dp" 
      android:src="@drawable/personal_coach" 
      android:id="@+id/button_personal_coach" 
      android:layout_weight="0.25" 
      android:scaleType="fitXY" 
      android:background="?android:selectableItemBackground" 
      android:layout_marginRight="4dp" 
      /> 

Есть ли лучший способ сделать это? (Более динамически для других размеров экрана без установки ширины и высоты на значение)

ответ

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" 
    android:weightSum="2"> 



    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:weightSum="2" 
     android:orientation="horizontal"> 

     <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1"/> 

     <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1"/> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:weightSum="2" 
     android:orientation="horizontal"> 

     <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1"/> 

     <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1"/> 
    </LinearLayout> 
</LinearLayout> 

Объяснение

Здесь мы используем атрибут веса, который делит экран на в зависимости от веса. Например, добавив 1 в обоих детей, он заставит их взять 50% экрана. Это то, что мы делаем сначала вертикально, а затем по горизонтали для каждой кнопки.

 Смежные вопросы

  • Нет связанных вопросов^_^