Android:布局在真实手机上显示为截断

时间:2012-02-03 23:04:13

标签: android android-layout

由于模拟器出现问题,我一直在测试移植到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"/>

1 个答案:

答案 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确保它在所有操作系统版本上运行良好。