【问题标题】:Android devices not picking up correct resolution iconAndroid 设备没有选择正确的分辨率图标
【发布时间】:2018-09-26 07:23:04
【问题描述】:

我已将图标放置在每个可绘制文件夹中。但图标在 8 英寸平板电脑上显示小,在 5 英寸手机上显示大。是android代码方面的错还是设计方面的错?文件夹中图标的大小为:

x_grey.png 38x38 in drawable-hdpi
x_grey.png 25x25 in drawable-mdpi 
x_grey.png 50x50 in drawable-xhdpi 
x_grey.png 75x75 in drawable-xxhdpi
x_grey.png 100x100 in drawable-xxxhdpi

【问题讨论】:

  • 也分享您的布局文件。
  • Android 布局是响应式的,they work in terms of dp,所以不是绝对像素,而是像素密度。因此,无论资产的实际大小如何,您都将它们绑定到布局视图,因此这取决于您如何定义此视图。例如,如果您想完成给定的尺寸throughtout all the screens,只需将视图宽度和高度设置为(例如)38dp。
  • 只是一个建议,我认为它会对您有所帮助。 stackoverflow.com/a/17647733/8867253
  • 对于平板电脑,您需要制作不同的绘图功能,即 layout-sw600dp 或 layout-large、layout-sw720dp 或 layout-xlarge。

标签: android android-layout icons drawable


【解决方案1】:

我希望这对你有用。

将您的图标制作成以下尺寸。

对于 hdpi-72x72

对于 mdpi-48x48

对于 xhdpi-96x96

对于 xxhdpi-144x144

对于 xxxhdpi-192x192

并为平板电脑制作不同的布局文件夹。

文件夹名称为 (layout-sw600dp 或 layout-large ) 和 (layout-sw720dp 或 layout-xlarge) 并放入 res 文件夹中。

【讨论】:

    【解决方案2】:

    要为不同的密度创建替代位图可绘制对象,您应该遵循六个主要密度之间的 3:4:6:8:12:16 缩放比例。例如,如果您有一个用于中等密度屏幕的 48x48 像素的可绘制位图,则所有不同的尺寸应该是:

    • 36x36 (0.75x) 用于低密度 (ldpi)
    • 48x48(1.0x 基线),用于中等密度 (mdpi)
    • 72x72 (1.5x) 用于高密度 (hdpi)
    • 96x96 (2.0x) 用于超高密度 (xhdpi)
    • 144x144 (3.0x) 用于超高密度 (xxhdpi)
    • 192x192 (4.0x) 用于超高密度 (xxxhdpi)

    然后,将生成的图像文件放在 res/ 下的相应子目录中,系统将根据运行您的应用的设备的像素密度自动选择正确的图像文件:

    res/
      drawable-xxxhdpi/  
         awesome-image.png  
      drawable-xxhdpi/  
       awesome-image.png  
      drawable-xhdpi/  
       awesome-image.png  
      drawable-hdpi/  
       awesome-image.png  
      drawable-mdpi/  
       awesome-image.png  
    

    然后,每当您引用 @drawable/awesomeimage 时,系统都会根据屏幕的 dpi 选择适当的位图。如果您没有为该密度提供特定于密度的资源,系统会选择下一个最佳匹配并对其进行缩放以适应屏幕。

    More Info

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多