Как обрабатывать разные размеры экрана на Android - PullRequest
1 голос
/ 31 января 2011

Сначала я запускаю программу на эмуляторе.После этого я запускаю на многих телефонах Android.Некоторые очень маленькие, некоторые показываются в повороте, затем не могут поворачиваться назад и не могут прокручиваться (я этого не делал), некоторые в порядке.

Я понимаю, что может быть вызвано различными типами экрана, и я использовал AbsoluteLayout, но я не знаю, как решить эту проблему. Так что мне нужно решить эту проблему.Кто-нибудь может помочь?Спасибо ka

Пример страницы, которую я сделал:

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

<TextView
    android:id="@+id/usrname"
    android:layout_width="wrap_content"
    android:layout_height="21px"
    android:layout_x="105px"
    android:layout_y="179px"
    android:text="Username :"
    android:textSize="18sp"
    android:textStyle="bold" />

<EditText
    android:id="@+id/usrname_text"
    android:layout_width="161px"
    android:layout_height="wrap_content"
    android:layout_x="74px"
    android:layout_y="206px"
    android:textSize="12sp" />

<TextView
    android:id="@+id/pass"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="105px"
    android:layout_y="252px"
    android:text="Password :"
    android:textSize="18sp"
    android:textStyle="bold" >
</TextView>

<EditText
    android:id="@+id/pass_text"
    android:layout_width="163px"
    android:layout_height="wrap_content"
    android:layout_x="73px"
    android:layout_y="279px"
    android:password="true"
    android:textSize="12sp" />

<Button
    android:id="@+id/login"
    android:layout_width="73px"
    android:layout_height="wrap_content"
    android:layout_x="75px"
    android:layout_y="333px"
    android:text="Login" />

<Button
    android:id="@+id/cancle"
    android:layout_width="73px"
    android:layout_height="wrap_content"
    android:layout_x="157px"
    android:layout_y="333px"
    android:text="Cancel" />

</AbsoluteLayout>

Это картинки из Galaxy-S и эмулятора:

enter image description here enter image description here

Ответы [ 3 ]

3 голосов
/ 31 января 2011

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

3 голосов
/ 31 января 2011

для решения этой проблемы вы используете метку Поддержка экранов в файле манифеста. Для получения дополнительной информации см. Ссылку ниже Экраны поддержки

1 голос
/ 03 февраля 2011

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

...