我有一个基本的线性布局,具有显示照片的图像视图,显示文本的textview等...,当我在android 2上测试我的整个应用程序时,屏幕的任何部分都不会显示。但是,当我在QVGA仿真器中对其进行测试时,一半的视图不在屏幕上。现在,我的一些文本被定义为一定的大小。

我从不在任何xml中使用px(仅蘸)。我在需要的地方使用fill_parent,wrap_content,并且从不固定高度或长度。我用的是textSize = 22dip吗?我找不到有关为何无法在所有尺寸上使用的文档。

是否可能需要将某些应用程序编程为这些屏幕尺寸?还是我错过了什么?

谢谢!

最佳答案

DIP实际上对流体布局设计没有帮助。 DIP试图确保在不同的屏幕密度下,事物的尺寸看起来相同。 (想象一下排版中“点”的概念)

没有代码和/或屏幕截图,很难判断程序会发生什么,但是22dip文本大小可能是导致以下情况的原因之一:


HDPI中的22dip文本将变为:22 * 240/160 = 33像素
LDPI中的22dip文本将变为:22 * 120/160 = 16.5像素


如果您在QVGA上的设置为HDPI,则实际上一个字母的高度为33像素,这消耗了超过屏幕高度的1/10。

顺便说一句,您的16:9宽屏(垂直)可以在一个屏幕上无滚动显示地容纳所有内容,而QVGA只是3:2屏幕,即使所有内容都按比例放置,也肯定会隐藏一些东西。

10-04 21:12