Не поддерживает несколько разрешений экрана - PullRequest
2 голосов
/ 08 декабря 2011

Я пытаюсь завершить работу над своим Android-приложением, но у меня возникли некоторые проблемы с пользовательским интерфейсом. Моя проблема очень проста, я разработал пользовательский интерфейс с использованием AVD по умолчанию при использовании AVD Manager в Eclipse (HVGA, с плотностью 160 точек на дюйм), и когда я запускаю приложение, я вижу его так, как я его проектировал, но если я изменяю На целевом устройстве (т.е. WVGA или QVGA) все компоненты в макете находятся в другом положении, чем оригинал. Насколько я видел в рекомендациях по поддержке нескольких экранов, я не должен использовать AbsoluteLayouts, на самом деле я использую RelativeLayouts, я не использую «px» для измерений (или позиций), просто «wrap_content» или «fill_parent» ", и в случае, если мне нужна конкретная позиция, я использую" dp "(проверено тоже с" sp "), также я масштабировал изображения для ldpi (0.75x), и все еще есть проблема (не конкретный экран , дырка в приложении) ... итак, мой вопрос, есть ли какой-то другой совет по интерфейсу, который мне не хватает?
Я помещаю пример кода и результаты, которые наблюдаю при тестировании с HVGA AVD (увеличенное изображение) и с QVGA AVD. Как вы можете видеть, положение желтых / зеленых квадратов отличается, как и размер последнего ряда изображений.
PS: Я также использую TabLayout, поэтому фон загружается с помощью кода (tabHost.setBackgroundDrawable (getResources (). GetDrawable (R.drawable.background1)))
Любая помощь будет оценена.

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/row1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="140dp"
    >
    <ImageView
        android:id="@+id/btn1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button1"
    />
    <ImageView
        android:id="@+id/btn2"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button2"
    />
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/row1"
        android:layout_centerHorizontal="true"
    >
    <ImageView
        android:id="@+id/btn3"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button3"
    />
    <ImageView
        android:id="@+id/btn4"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button4"
    />
    </LinearLayout>
</RelativeLayout>

screen at 240x320 screen at 320x480

Ответы [ 3 ]

1 голос
/ 08 декабря 2011

Ваш макет выглядит хорошо для меня, за исключением того, что заголовок белого ящика находится на заднем плане, так как это затруднит размещение вещей на их месте.Кроме того, RelativeLayout не имеет ориентации, но это игнорируется.

На большом снимке экрана выглядит, что между белым полем и верхней частью экрана больше места.То, что это не имеет смысла для меня, является другим размером во втором ряду.Вы на 100% уверены, что загружаете правильные изображения на скриншоте меньшего размера?

0 голосов
/ 08 декабря 2011

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

0 голосов
/ 08 декабря 2011

Выполняли ли вы шаги, указанные на сайте разработчика , чтобы приложение ur поддерживало несколько экранов?

...