Tablet 10.1“WXVGA和平板电脑WSVGA 7”的问题

时间:2012-11-28 05:39:19

标签: android android-layout android-tablelayout

我有一个活动,其中包含一个以背景为png的 LayoutView ,以便在应用程序的其余部分提供漂亮的帧效果,并在此LayoutView中加载一个listView。

我已经在最新版本的ADT中测试了所有屏幕尺寸和分辨率配置文件的应用程序,并且可以在所有屏幕上正常运行,但是使用这些配置

-Tablet 10.1“WXVGA mdpi

-Tablet WSVGA 7“mdpi

-Nexus 7 7.17“800x1280 tvdpi

该列表超出了背景PNG的框架并且看起来很糟糕。

其他配置(也具有相同的分辨率但密度不同,反之亦然)有效。

要解决此问题,我必须增加listView边距,但这会导致所有其他配置出现问题。

如何在不更改应用程序的图形设计的情况下解决此问题?

修改

我添加了一个问题示例,listView必须保留在黑色区域,但在描述的情况下超出了区域 enter image description here

红色区域是一个LinearLayout1,里面有另一个带有ListView的LinearLayout2,边距很大,因为鲜艳的红色区域包含用作LinearLayout1背景的png框架

2 个答案:

答案 0 :(得分:0)

我想说你需要调整/修改与某些屏幕密度相匹配的背景图像。在Android中,您可以选择使用这些文件夹来存储图像。

drawable,drawable-hdpi,drawable-hdpi-v11,drawable-ldpi,drawable-mdpi等 http://developer.android.com/guide/topics/resources/providing-resources.html

Android O.S将尝试根据硬件屏幕分辨率使用最合适的图像。因此,看看是否使图像更大/更小有助于列表视图的某些屏幕密度。

如果不是这样,屏幕截图肯定会有所帮助:P

答案 1 :(得分:0)

似乎您对所有屏幕和dpi使用相同的背景。

在这种情况下,很难做到(我发现了同样的问题)。

有一些解决方案:

  1. 使用ninepatch作为背景。
  2. 将背景划分为多个区域,并且不使用边距而不是静态大小的视图,如下所示:
  3. <layout>
      <view id="left" size="20dp" background="left.png" />
      <imageview id="content" size="0dp" weight="1" background="center.9.png" />
      <view id="right" size="20dp" background="right.png" />
    </layout>
    

    通过使用它,布局与屏幕和dpi无关。