3

我主要从以下两个来源学习 Android 和 Phonegap 开发:

http://news.softpedia.com/news/How-to-Run-Android-Applications-on-Ubuntu-115152.shtml

http://wiki.phonegap.com/w/page/30862722/phonegap-android-eclipse-quickstart

我有一个三星 Galaxy Tab。

然而,让我感到困惑的是:

  1. 为了在 2010 年第四季度达到最大数量的 Android 手机和平板电脑,我在开发中使用什么屏幕尺寸?你推荐用于 480x800 屏幕的 WVGA800 吗?
  2. 即使它具有高分辨率,大多数 Android 应用程序如何正确调整到我的 7 英寸三星 Galaxy Tab 的大小?开发人员正在做什么来实现这一点?我的意思是,你能让你的应用程序具有某种弹性并且字体也可以拉伸吗?或者,谷歌是否检测到该应用程序是为较小的屏幕设计的,因此它可以处理 Galaxy Tab 的大小调整?我是否需要更改 AndroidManifest.xml 中的某些内容?
  3. 我在模拟器中使用了 HVGA 默认值,而且速度很快。当我切换到 WVGA800 时,它变得慢了很多。这是为什么?
4

2 回答 2

8

以下是我完全从 Android 开发人员的角度给出的答案(我没有使用 PhoneGap 的经验,所以我不能说这会如何影响事情):

  1. 在我的大部分测试中,我专注于 320x480 和 480x800。对于平板电脑,您还需要专门针对 Galaxy Tab 进行测试(有关在模拟器中测试的更多详细信息,请参见三星网站)。

  2. Android 中的布局通常设计(或应该)支持任何屏幕尺寸。通常,视图设置为 MATCH_PARENT(以前的 FILL_PARENT)或 WRAP_CONTENT,因此它们的大小取决于它们所处的布局或它们包含的内容,而不是显示器的大小。您还可以指定“DP”(与密度无关的像素),它将自动为您缩放(因此 2dp 在 HVGA 设备上为 2px,而在 WVGA 设备上为 3px)。字体应该在 SP 中指定,它们本质上是一样的,但也要考虑到用户的字体偏好。

    您还可以应用权重来拉伸视图。例如,如果您有一个水平方向的 LinearLayout,您可以在其中放置两个 View(比如说一个 TextView 和一个 EditTextView)。您可以将它们的宽度和高度都设置为 WRAP_CONTENT,但您可能会向 EditTextView 添加一个 layout_weight="1",告诉它填充剩余空间。此外,您可以为大型设备创建特定布局,以自定义 Galaxy Tab 的显示。

  3. 分辨率越高,模拟器处理的像素就越多。您还会注意到 Android 版本之间的性能差异。

话虽如此,PhoneGap 看起来或多或少类似于开发 WebApp,在这种情况下,您会发现Android Web Apps 文章很有帮助。

编辑(响应第一条评论,因为我的格式被弄乱了):

不,除了指定您支持的内容之外,AndroidManifest 中没有任何更改:

<supports-screens
  android:smallScreens="true"
  android:normalScreens="true"
  android:largeScreens="true"
  android:xlargeScreens="true"
  android:anyDensity="true" />

对于 CSS,您可以根据密度指定样式或使用标准百分比、em 测量值等。

于 2010-12-19T19:34:30.160 回答
1

我已经开始在我的清单中为我的应用程序使用以下内容,这些应用程序可以在任何大小上运行:

<supports-screens 
android:smallScreens="true"                   
android:normalScreens="true"                   
android:largeScreens="true"                   
android:anyDensity="true" />
<uses-sdk android:minSdkVersion="4"></uses-sdk>
于 2010-12-19T20:52:53.373 回答