android - 为什么图标/图像在平板电脑上看起来模糊(不清晰),但在 android 手机上看起来很好?

标签 android android-layout android-image

我正在开发基于手机的 Android 应用程序。但是,最近该应用程序需要支持平板电脑。

该设计基于 1920 * 1080,我将所有图像/图标放入 xxhdpi 文件夹中,为了降低分辨率,我只让 android 帮助我重新缩放它。

问题是,它在手机上运行良好(1280 * 800 5"),但是当我使用平板电脑检查它时(比如,galaxy tab 2,其分辨率仅为 1280 * 800 10.1"和 1024 * 600)但是它看起来很模糊。如何解决?感谢您的帮助。

已添加

<supports-screens 
    android:resizeable="true"
    android:smallScreens="true" 
    android:largeScreens="true"
    android:xlargeScreens="true"  
    android:normalScreens="true" 
    android:anyDensity="true"/>

已经,但还是一样

更新:我还发现 dp 对于平板来说太小了

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <!-- API 11 theme customizations can go here. -->
        <item name="android:actionBarSize">60dp</item>
    </style>

我使用的是自定义 actionBarSize ,它在手机上运行良好,但 60dp 对于平板电脑来说太小了,我该如何修复它?谢谢

最佳答案

好吧,我认为您在使用图像时没有遵循这些准则。 android 文档在处理图像时没有说明屏幕分辨率,而是在引用图像资源(通常是可绘制对象)时关注像素密度,即 explained here。 .请记住,您可以有两种类型的图像(据我所知):

  1. 图片资源(通常是drawables)
  2. 图片 Assets

使用可绘制对象时,您必须关注像素密度而不是屏幕分辨率,因为您刚刚发现小(或常规)屏幕设备可以具有与大屏幕设备完全相同的分辨率,最重要的是,有时普通屏幕设备(手机)可以比大屏幕设备(平板电脑)具有更高的分辨率,显然在这种情况下手机具有更高的像素密度。因此,您需要按照他们的指南以中等像素密度 (mdpi) 设备为基准来设计您的图像资源,如下所示...以 96px 图像为例...

  • 对于中等密度设备 (mdpi),请在 drawable 文件夹中提供一张 96px 的图像...这是您的基线
  • 然后,通过将基线图像乘以 1.5 来定位高像素密度 (hdpi) 设备...即 96x1.5 = 144px...将此图像放入 drawable-hdpi同名文件夹
  • x-large 像素密度设备图像是基准图像乘以 2 (96x2=192px)。这进入 drawable-xhdpi 文件夹
  • 对于 xx 大像素密度 (xxhdpi) 设备,将基线图像乘以 3 (96x3=288) 并将其放入 drawable-xxhdpi 文件夹

请注意,如果您不需要为像素密度较低的设备提供图像,因为 Android 可以毫无问题地将其从 mdpi 缩小...

Note: Android also supports low-density (LDPI) screens, but you normally don't need to create custom assets at this size because Android effectively down-scales your HDPI assets by 1/2 to match the expected size.

在您的情况下,发生的情况是您的 Galaxy 平板电脑具有较低的像素密度,Android 将图像从 xxhdpi 缩小到平板电脑具有的任何密度(hdpi 或 xhdpi)....因此,您的图像是对于 xhdpi 或 hdpi 设备,Android 会将 512px 图像缩小到 341px 或 256px。

如果您遵循这些指南并关注像素密度,应该没问题。但是,对于 assets 文件夹中的图像,除了使用 ScaleType 之外,您无能为力。枚举或使用 stretchable 9-patch图片

希望对你有帮助

更新

其实根据this link ,Galaxy Tab 2 具有 mdpi 屏幕,这意味着您的图像将从 xxhdpi 缩小三倍。您应该在适当的 drawable-x 文件夹中提供不同尺寸的相同图像

关于android - 为什么图标/图像在平板电脑上看起来模糊(不清晰),但在 android 手机上看起来很好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234621/

相关文章:

android - 使用动态字符串将文本设为粗体、斜体和下划线

java - 在 fragment 中添加一个按钮?

android - MediaStore - 修改日期无法正常工作

android - ListView 在与交互之前不会呈现所有项目

android - Android 中的 values-sw 资源问题

Android裁剪图片

java - 内存不足错误?

android - 在 Android Studio 中找不到 OpenCV

android - 当 layout_weight 分配给微调器时微调器上的 SetSelection 崩溃

android - 如何在现有位图上设置位图作为背景