2013-02-20 3 views
1

Я новичок в андроид программирование и хочу иметь такую ​​группу кнопок:Как создать такую ​​группу кнопок?

https://www.dropbox.com/s/4x3l797iwgdaha1/2013-02-20%2020.12.57.png

Я попытался создать такой макет через Dashboard-Layout (от Google IO), но это не выглядит как это, потому что есть больше расстояния («поля» в приборной панели.

ли кто-либо предложение, как создать «ButtonGroup» -layout, как вы видите на скриншоте?

заранее спасибо!

knickelbert

+0

Это выглядит как простой 2x2 GridView, в котором у каждого элемента есть ImageView слева и два TextViews справа. Что вы пробовали? – Sam

+0

GridView выглядит интересно. Нужен ли мне Java-код для получения элементов в GridView или можно создать статический, только XML-GridView? – knickelbert

+0

GridView подкласс ListView, он настроен аналогичным образом. Вы можете спроектировать макет элемента в XML, Java или в сочетании обоих. Возможно, вам понадобится написать базовый пользовательский адаптер для работы с вашим настраиваемым макетом. – Sam

ответ

1

Добавить android:padding и android:gravity как при условии соответствия требованиям к TableLayout.


<TableLayout 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:stretchColumns="2" 
android:shrinkColumns="2" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
    <TableRow> 
    <ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ursrouce" 
    /> 
    <ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ursrouce" 
    /> 
    </TableRow> 
    <TableRow> 
    <ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ursrouce" 
    /> 
    <ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ursrouce" 
    /> 
    </TableRow> 
</TableLayout> 

Вы можете добавить горизонтальный и вертикальный разделитель в случае необходимости после <ImageButton>

Вертикаль ::

<View 
    android:layout_width="1dip" 
    android:layout_height="fill_parent" 
    android:layout_marginTop="30dp" 
    android:layout_marginBottom="30dp" 
    android:background="#FF0000FF" 
    /> 

Горизонтальные ::

<View 
    android:layout_width="fill_parent " 
    android:layout_height="1dip" 
    android:background="#FF0000FF" 
    /> 
+0

Это выглядит многообещающе. Я взял ваш код и добавил два текстовых изображения, как описано Guarav Arora, но есть ли способ сказать андроиду, чтобы поместить текстовое представление под другим в макете таблицы? Я сделал это раньше с помощью android: layout_below = "...", но это не работает в макете таблицы! – knickelbert

+0

@knickelbert: вам нужно «RelativeLayout» использовать относительность ниже, выше. , , со ссылкой на 'id'. Таким образом, ваш 'TableLayout' внутри' RelativeLayout' дает ему 'id'. Затем используйте ссылку «TextView» ниже «TableLayout». –

0

Если вы хотите сделать этот общий формат, вы можете использовать TableLayout с двумя строками, а каждая строка имеет два столбца, а сетка с числом столбцов, установленными на 2, также может дать вам аналогичный внешний вид.