【发布时间】:2011-02-10 09:36:45
【问题描述】:
我正在 Android 中创建一个应用程序。最初我只为智能手机制作它,但现在我希望同样的应用程序支持 Android 平板电脑。问题在于缩放。它没有缩放到平板电脑屏幕的大小。我使用了具有高度和宽度的 LinearLayout 作为 fill_parent。
【问题讨论】:
我正在 Android 中创建一个应用程序。最初我只为智能手机制作它,但现在我希望同样的应用程序支持 Android 平板电脑。问题在于缩放。它没有缩放到平板电脑屏幕的大小。我使用了具有高度和宽度的 LinearLayout 作为 fill_parent。
【问题讨论】:
您想阅读这部分手册:http://developer.android.com/guide/practices/screens_support.html
(请务必阅读!)
但您可以尝试在 androidmanifest.xml 中添加屏幕支持:
该平台还提供了一个 显式元素, 其属性 android:smallScreens, 安卓:正常屏幕, android:largeScreens 和 android:xlargeScreens 让你指定 你的通用屏幕尺寸是多少 应用支持。
让它看起来像这样:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
...
</manifest>
screen-support page 也说明了这一点:(emph mine)
保持与现有的兼容性 离开您的应用程序的设备 android:minSdkVersion 属性作为它 是。 您不需要增加 支持新的属性值 设备和多个屏幕。延长 与 Android 1.6 的兼容性(以及 更高) 设备通过添加一个新的 属性 — android:targetSdkVersion — 到 uses-sdk 元素。设置值 属性为“4”。 [支持 xhdpi 和 xlarge 屏幕,设置 值“9”。]这允许你 申请“继承” 平台的多屏支持, 即使它在技术上使用 API 的早期版本。
因此,对于最一般的情况,更新 minSdkVersion 的解决方案似乎是不需要的。如果您有 '3' 作为适合您情况的 minSdkVersion,请保留它,但添加 targetSdkVersion 以实现兼容性。
【讨论】:
问题出在 min sdk 版本上。如果我将 min sdk 版本设置为 3 或更低或根本不设置,则会出现缩放问题。但如果我将它设置为 4 或更大,它工作得非常好。设置min sdk版本大于等于4后,应用占据整个平板的屏幕高度和宽度。
【讨论】: