如何在android上处理不同大小的屏幕

时间:2011-01-31 08:30:54

标签: android android-emulator screen

首先,我在模拟器上运行程序。在那之后,我在许多Android手机上运行。有些是非常小的,有些是旋转侧显示然后不能旋转回来,并且不能滚动(我没有这样做),有些是可以的。

我理解可能是由不同类型的屏幕引起的,我使用的是AbsoluteLayout,但我不知道如何解决这个问题。所以,我需要解决这个问题。有人可以帮忙吗?谢谢你

我做过的示例页面:

  <?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 个答案:

答案 0 :(得分:3)

这个问题你在清单文件中使用支持屏幕标签。有关进一步的参考,请参阅以下链接 Support screens

答案 1 :(得分:3)

开发人员文档在Supporting Multiple Screens的文章中有很多关于此的指导。根据最佳实践部分,他们建议不要使用AbsoluteLayout。如果您分享您要完成的任务,我们可能会建议一种适用于各种屏幕的方式。

答案 2 :(得分:1)

真的认为你应该看一下相对布局,特别是如果你现在开始使用android。它有点难,因为你不能为你的任何物品提供绝对坐标,但你可以相对于彼此放置你的物品。之后,您不必担心不同的屏幕尺寸。