我在我的应用中的一项活动中运行了几个图像视图和一个列表视图。显示器在仿真器中看起来很完美,它基本上显示一个短字符串,顶部有两个小图像,然后屏幕的其余部分由listview组成,但当我把它放在我的设备(EVO3D)上时,列表视图被截止。实际上宽度甚至略显偏差。
这是layout.xml文件;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:text="@string/showRunList_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText1">
</TextView>
<ImageView android:contentDescription="@string/auxLogo"
android:id="@+id/imageView1"
android:layout_height="wrap_content"
android:src="@drawable/logo_small"
android:layout_width="wrap_content"
android:layout_gravity="center">
</ImageView>
<ImageView android:contentDescription="@string/auxPhone"
android:id="@+id/imageView2" android:layout_height="wrap_content"
android:src="@drawable/phone" android:layout_width="wrap_content">
</ImageView>
<TextView
android:id="@+id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_no_items"/>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom|right"
/>
</LinearLayout>
答案 0 :(得分:1)
让我列出几点要小心:
Supporting Multiple Screens
。android:layout_height="match_parent"
或 android:layout_weight="1"
。dp
或 dip
代替固定尺寸的PX来定义高度/宽度等测量值。sp
(缩放点)。答案 1 :(得分:0)
检查此http://developer.android.com/guide/practices/screens_support.html
创建与您的设备具有相同分辨率的模拟器并进行测试。
答案 2 :(得分:0)
如果要支持多屏幕,则需要在配置文件中添加多屏幕支持属性,并根据标准创建不同的图像。看看here
答案 3 :(得分:0)
模拟器的分辨率/方面与设备不同。 EVO3D的分辨率为540x960。您的仿真器可能是HVGA(320x480)或WVGA(480x800)。这种轻微的变化会导致布局的可见部分稍微移动。
请记住,您的应用程序将在市场上遇到更多设备分辨率/宽高比差异,因此它应对这些变化作出适当的反应。
HTH