Intereting Posts
AsyncTask Android – шаблон дизайна и возвращаемые значения KitKat: как перенаправить APDU на SIM-карту Студия Android не обновляет новые версии Скрытие AppBarLayout и предоставление его места остальному виду Почему `ACTION_GATT_DISCONNECTED` занимает столько времени, чтобы обновить статус? Как вернуться на главный экран из Activity Дважды нажмите кнопку «Назад», чтобы выйти из операции EditText не теряет фокус Как вернуться к стилю по умолчанию в EditText, если применить фон? Exectuing http POST возвращает HTML вместо JSON Насколько я должен быть осторожен при обеспечении безопасности потоков при создании методов / действий, которые взаимодействуют с базой данных SQLite? Android eclipse – восклицательный знак рядом с названием проекта Менеджер SDK Неизвестный узел dl-ssl.google.com Действительно ли тестовая учетная запись Android Market взимается с покупки In-App? LinearLayout не расширяется внутри ScrollView

Android: выравнивание четырех квадратов

Я пытаюсь выровнять четыре квадрата одинакового размера на экране Android, и теперь я попытался понять, что похоже на миллион разных подходов, но никто из них, похоже, не работает :(.

То, что у меня есть на данный момент, следующее:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MasterLayout" android:layout_width="wrap_content" android:layout_height="fill_parent" android:background="#FFFFFF"> <TableLayout android:layout_width="fill_parent" android:id="@+id/mainlay" android:background="#444444" android:layout_weight="0.2" android:layout_height="wrap_content" android:padding="0dip"> <TableRow android:layout_weight="1" android:background="#BBBBBB" android:padding="0dip"> <ImageView android:id="@+id/ImageView1" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> <ImageView android:id="@+id/ImageView2" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> </TableRow> <TableRow android:layout_weight="1" android:padding="0dip"> <ImageView android:id="@+id/ImageView3" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> <ImageView android:id="@+id/ImageView4" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> </TableRow> </TableLayout> </LinearLayout> 

Это в основном делает работу. Тем не менее, каждый из этих четырех изображений имеет огромную надпись над и под ней. Как я могу избавиться от этого? Или мне нужно использовать другой тип макета alltogether?

Чтобы проиллюстрировать мою проблему, вот фотография. Слева – это то, что я получил, справа – то, что мне нужно. Образ

Большое спасибо!

Привет, Маркус!

Solutions Collecting From Web of "Android: выравнивание четырех квадратов"

Удалите layout_weight из вашего TableRows и установите их layout_height для wrap_content . Затем добавьте пустой TableRow под ними с layout_height установленным для fill_parent .

Попробуйте использовать scaleType как centerCrop, если размер изображения больше, то это сделает трюк для вас. Но это не лучший способ сделать это, лучше было бы изменить ресурсы изображения.

HTH!

Попробуйте установить высоту ImageView для fill_parent, я думаю, что это должно было сделать трюк. Во всяком случае, это помогло бы, если бы ваши свойства XML были разделены по строкам, для остальных из нас трудно прочитать одну строку свойств.

Кроме того, почему вы размещаете TableLayout внутри LinearLayout? Если у вас больше элементов внутри Linear, вы можете избавиться от него.