Android: какой макет лучше всего использовать при попытке получить кнопки с изображением 2x2 и многое другое?

Я пытаюсь сделать так, чтобы мой макет выглядел так. Я пробовал gridviews, макеты таблиц и многое другое, но не могу заставить его выглядеть правильно. Я хочу что-то вроде этого.

Кнопка ImageButton2

ImageButton3 ImageButton4

    ImageView1

ImageButton5 ImageButton6

ImageButton6 ImageButton7 ImageButton8 (значки меньшего размера)

   ImageButton9 (small donate button)

Я просто не могу понять, как заставить макет работать с кнопками изображения. Какой макет следует использовать? И не могли бы вы опубликовать пример кода макета xml, если это возможно?


person IZI_Shadow_IZI    schedule 09.08.2010    source источник


Ответы (2)


вы можете сделать что-то вроде этого, хотя может быть и другой способ сделать это:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

  <LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ImageButton android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
    <ImageButton android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  </LinearLayout>

  <ImageView android:layout_width="wrap_content" android:src="@drawable/icon"
    android:layout_height="wrap_content" android:layout_gravity="center"/>

  <LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ImageButton  android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
    <ImageButton  android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  </LinearLayout>

  <LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ImageButton  android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
    <ImageButton  android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
    <ImageButton  android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  </LinearLayout>

  <ImageView android:layout_gravity="center"  android:src="@drawable/icon" android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>

вот результат. Я собрал проект для Android и просто использовал изображение, которое по умолчанию используется для значка.

download&psid1.png

person Ryan Conrad    schedule 09.08.2010
comment
Я посмотрю на это, но я думаю, что кнопки изображений искажаются из-за размеров ... и не испортится ли линейная компоновка с разными размерами / плотностями экрана? - person IZI_Shadow_IZI; 09.08.2010
comment
Думаете, их можно центрировать? - person IZI_Shadow_IZI; 09.08.2010
comment
центрировать кнопки? просто добавьте android:layout_gravity=center в linearlayouts для кнопок - person Ryan Conrad; 09.08.2010

Может быть, это может помочь вам:

DroidDraw — дизайнер/редактор пользовательского интерфейса (UI) для программирования с Android

Вы можете использовать графический редактор, чтобы создать макет и сгенерировать XML.

person Fernando Briano    schedule 09.08.2010