Я пытаюсь создать макет Android, который использует около 1/3 экрана для названия приложения. И затем для других 2/3 у него есть 6 равномерно расположенных кнопок в строках по 2, в 3 столбцах. В каждой кнопке будет содержаться текст и изображение, которые потенциально могут различаться по размеру. Я много читал и до сих пор не нашел идеального пути к этому. У меня есть пример, который в основном работает, за исключением нескольких моих кнопок разных размеров, и поэтому это не работает (кнопки разных размеров). Кроме того, я понятия не имею, будет ли он работать с телефонами разных размеров. Во всяком случае, если кто-нибудь может взглянуть на этот XML-макет и, возможно, предложить лучший способ. Благодарю.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget30"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/green6"
android:orientation="vertical"
android:padding="5dp" >
<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/border"
android:padding="5dp" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget31"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="Title Will Go Here"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/green6"
android:textSize="35sp"
android:textStyle="bold"
android:shadowColor="@color/black"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="1"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:paddingBottom="4dp" >
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:paddingLeft="10dp"
android:paddingRight="5dp" >
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_button"
android:drawableTop="@drawable/search"
android:text="Search by Food"
android:textColor="@color/green6"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:paddingLeft="5dp"
android:paddingRight="10dp" >
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_button"
android:drawableTop="@drawable/search2"
android:text="Search by Substitute"
android:textColor="@color/green6"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:paddingBottom="4dp" >
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:paddingLeft="10dp"
android:paddingRight="5dp" >
<Button
android:id="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_button"
android:drawableTop="@drawable/browse"
android:text="Browse by Category"
android:textColor="@color/green6"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:paddingLeft="5dp"
android:paddingRight="10dp" >
<Button
android:id="@+id/button4"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_button"
android:drawableTop="@drawable/award"
android:text="Most Popular"
android:textColor="@color/green6"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:paddingLeft="10dp"
android:paddingRight="5dp" >
<Button
android:id="@+id/button5"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_button"
android:drawableTop="@drawable/share"
android:text="Sync with Online Database"
android:textColor="@color/green6"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:paddingLeft="5dp"
android:paddingRight="10dp" >
<Button
android:id="@+id/button6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_button"
android:drawableTop="@drawable/plus"
android:text="Submit New Food Substitute"
android:textColor="@color/green6"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>