Изменение размера макета Android - PullRequest
1 голос
/ 03 августа 2011

Использование относительного макета для меню в игре для Android, однако, запуск эмуляторов другого размера и макет не масштабируется вообще, хотя я использую dip. На среднем экране он работает нормально, однако маленький экран отсекает половину нижних кнопок, а большой экран сжимает все кнопки дальше вверх по экрану, есть идеи?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menubackground"
>
<Button
android:text="High Scores" 
android:layout_height="wrap_content" 
android:layout_width="200dp" 
android:id="@+id/HighScore" 
android:layout_below="@+id/NewGame" 
android:layout_centerHorizontal="true" 
android:layout_marginTop="20dp"
android:textStyle="bold"
></Button>
<Button
android:text="Instructions" 
android:layout_height="wrap_content" 
android:layout_width="200dp" 
android:id="@+id/Instructions" 
android:layout_below="@+id/HighScore" 
android:layout_centerHorizontal="true" 
android:layout_marginTop="20dp"
android:textStyle="bold"
></Button>
<Button
android:text="Exit" 
android:layout_height="wrap_content" 
android:layout_width="200dp" 
android:id="@+id/Exit" 
android:layout_below="@+id/Instructions" 
android:layout_centerHorizontal="true" 
android:layout_marginTop="20dp"
android:textStyle="bold"
>

</Button>
<Button android:layout_height="wrap_content" 
android:textStyle="bold" 
android:id="@+id/NewGame" 
android:text="New Game" 
android:layout_width="200dp" 
android:layout_alignParentTop="true" 
android:layout_alignLeft="@+id/HighScore" 
android:layout_marginTop="191dp"></Button>

</RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 05 августа 2011

Возможно, RelativeLayout не лучший выбор здесь. Я бы использовал LinearLayout в вертикальном направлении. Используя weight, вы можете сделать так, чтобы элементы были равномерно распределены независимо от размера экрана. Возможно, попробуйте что-то вроде этого:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Button android:id="@+id/new_game"
    android:layout_width="200dp"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:text="feasdf"
/>
<Button android:id="@+id/instructions"
    android:layout_width="200dp"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:text="feasdf"
/>
<Button android:id="@+id/exit_game"
    android:layout_width="200dp"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:text="feasdf"
/>

Дайте мне знать, если у вас есть еще вопросы!

0 голосов
/ 04 августа 2011

Поместите RelativeLayout в ScrollView документацию . Это покажет часть, которая обрезается на экранах меньшего размера. Это не повлияет на большие размеры экрана, когда весь контент можно просматривать на экране.

...