由于模拟器出现问题,我一直在测试移植到x86(在VirtualBox中运行)的Android 2版本。我的应用程序和布局在此端口上显示正常。
我现在正在完成我的开发,并且正在测试我的真实手机,Droid Bionic。
但是,即使我将尺寸设置为以下,我的整体应用程序布局也不占用屏幕的全部尺寸。它似乎存在一个黑色外盒,我不能放大这个窗口。 如果我将整体布局的尺寸从fill_parent更改为1000px,我可以看到布局被截断,因为它仍然位于这个未更改的窗口大小内。
有人可以告诉我如何解决这个问题吗?
由于
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@layout/overall_background"
android:orientation="vertical"
>
<GridView
android:id="@+id/gridView"
android:gravity="fill_horizontal"
android:stretchMode="columnWidth"
android:horizontalSpacing="0px"
android:background="@layout/grid_background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
答案 0 :(得分:1)
编辑:
我很确定这是因为您运行的屏幕兼容模式,因为您的清单中的android:targetSdkVersion设置不正确。这应该设置为您已经测试过您的应用的最高SDK版本,并且可以使用。&#39;
Please see this link并具体阅读前几段。
有两种版本的屏幕兼容模式 不同的行为:版本1(Android 1.6 - 3.1)
系统在&#34;邮票中绘制应用程序的用户界面&#34;窗口。 也就是说,系统绘制应用程序的布局与它相同 将在普通尺寸的手机上(模拟320dp x 480dp屏幕), 带有黑色边框,填满屏幕的剩余区域。
要禁用此版本的屏幕兼容模式,您只需要 将android:minSdkVersion或android:targetSdkVersion设置为&#34; 4&#34;要么 更高,或将android:resizeable设置为&#34; true&#34;。
修改:Please see the documentation on how you should be setting the target SDK attribute
特别感兴趣的是这些行:
为了维护您的应用程序以及每个Android版本,您 应该增加此属性的值以匹配最新的API 等级,然后彻底测试你的相应的应用程序 平台版本。
鉴于您遇到此问题告诉我您的目标sdk设置为3或更低。所以Android 1.5或更低。这意味着,任何在Android手机上使用比Android 1.5更新的应用程序运行应用程序的人都将以兼容模式运行。这会导致性能下降和默认图形不兼容。 I.E.由于兼容模式,图形看起来不像手机上的其他东西。
目前95%的Android正在运行较新的版本,然后是1.5。 您需要做的是将您的tarket SDK一次性升级到4,5,6,7 ...等并完全测试应用程序,直到您获得当前的SDK版本15.当您发布目标SDK时应该是15确保它在所有操作系统版本上运行良好。