【发布时间】:2012-02-03 04:42:46
【问题描述】:
我开发了一个应用程序,该应用程序也可以在 android 平板电脑上运行。它在安卓手机上完美运行。当我在平板电脑上运行它时,它并没有在整个屏幕上展开。它只覆盖了相当于移动设备的区域。我希望它也可以在平板电脑上运行,并像在移动设备上运行一样覆盖整个屏幕。我是否必须为每种类型创建两个不同的设计,并且在使用设计之前在运行时,我必须检查它是安卓手机还是桌面?
【问题讨论】:
我开发了一个应用程序,该应用程序也可以在 android 平板电脑上运行。它在安卓手机上完美运行。当我在平板电脑上运行它时,它并没有在整个屏幕上展开。它只覆盖了相当于移动设备的区域。我希望它也可以在平板电脑上运行,并像在移动设备上运行一样覆盖整个屏幕。我是否必须为每种类型创建两个不同的设计,并且在使用设计之前在运行时,我必须检查它是安卓手机还是桌面?
【问题讨论】:
在 android manifest 中添加以下代码
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
【讨论】:
在清单文件中 <uses-sdk>tag 之后添加以下代码块:
<supports-screens
android:xlargeScreens="true"
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
注意:当且仅当您的minSdkVersion 等于或大于9 时才添加android:xlargeScreens="true" 属性。
除了添加此代码块外,请关注this 链接。还建议您通过以下链接:
Supporting Different Screen Sizes
Supporting Different Densities
希望这会有所帮助。
【讨论】:
请尝试
<uses-sdk android:minSdkVersion="8" android:maxSdkVersion="11"/>
<supports-screens android:anyDensity="true" />
在 Manifest.xml 标记之前。
希望对你有帮助。
【讨论】:
maxSdkversion 不是一个好习惯。请参阅警告here 了解更多详情。建议您在开始投票之前将其删除。
我认为您对应用中的任何视图或布局都使用了固定宽度和高度,以支持移动设备的固定分辨率。
如果你在你的应用中使用了 fill_parent、wrap_content 和 weight 属性,那么应用会填满任何安卓设备的整个屏幕。检查您的代码后。
小例子
假设设备没有旋转。您的设备的分辨率为 320 X 240。您必须水平填充 3 个按钮,您可以将每个按钮的宽度设置为 100,并将剩余作为布局的边距/填充。如果您在分辨率为 640 X 480 的设备上运行相同的应用程序,则 3 个按钮之后会出现一些空间。如果您对这 3 个按钮使用 width=fill_parent 和 layout_weight=1 并且父级的 layout_width=fill_parent,则在任何分辨率下,这 3 个按钮将填满整个屏幕宽度。
希望对你有帮助。
【讨论】: