有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在为多个屏幕开发时,在何处放置可绘图项?

我正在开发多个屏幕,所以我的布局是布局,布局大,布局大。这些布局的按钮背景已发布在drawable hdpi、drawable xgdpi和drawable xxhdpi文件夹中

但是,当我运行应用程序时,布局似乎选择了可用的最小绘图。xhdpi未使用大小正确的图像。为什么会这样?我是否需要创建单独的可绘制文件夹结构


共 (4) 个答案

  1. # 1 楼答案

    您应该遵循四个广义密度之间的3:4:6:8比例
    例如,如果中密度屏幕的位图可绘制为48x48像素(启动器图标的大小),则所有不同的大小应为:

    36x36 for low-density
    48x48 for medium-density
    72x72 for high-density
    96x96 for extra high-density
    

    请浏览此链接:Android Iconography

  2. # 2 楼答案

    根据文件

    由于Android在各种屏幕密度的设备中运行,因此您应该始终为每个通用密度桶(低、中、高和超高密度)提供定制的位图资源。这将帮助您在所有屏幕密度上实现良好的图形质量和性能

    要生成这些图像,您应该从矢量格式的原始资源开始,并使用以下尺寸比例为每个密度生成图像:

    xhdpi: 2.0
    hdpi: 1.5
    mdpi: 1.0 (baseline)
    ldpi: 0.75
    

    这意味着,如果为xhdpi设备生成200x200映像,则应为hdpi生成150x150的相同资源,为mdpi生成100x100的相同资源,最后为ldpi设备生成75x75的映像

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

    MyProject/
      res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png
    

    然后,无论何时引用@drawable/awesomeimage,系统都会根据屏幕的dpi选择适当的位图。请参阅此link

  3. # 4 楼答案

    // try this way
                                ldpi    mdpi    hdpi    xhdpi   xxhdpi    xxxhdpi
    Launcher And Home           36      48      72      96      144       192
    Tab,Dialog and List         24      32      48      64      96        128
    Action Bar And Status Bar   18      24      36      48      72        96
    Background                  320*426 320*470 480*640 720*960 1080*1920 1080*1920