【问题标题】:android icon error - not seeing folder?android图标错误 - 没有看到文件夹?
【发布时间】:2012-05-01 12:38:33
【问题描述】:

我创建了文件夹:

app_name/res/drawable-hdpi
app_name/res/drawable-mdpi
app_name/res/drawable-ldpi

我在 hdpi 中放置了 72x72 的图标,在 mdpi 中放置了 48x48,在 ldpi 中放置了 36x36。我将 png 图标命名为:icon.png

我编译并运行它,图标没有改变。于是我就去AndroidManifest.xml改了图标参数:

<application
        android:icon="@drawable-ldpi/icon"
...

但是我得到了这个错误:

错误:未找到与给定名称匹配的资源(在“图标”处,值为“@drawable-ldpi/icon”)。 AndroidManifest.xml

有什么建议吗?

【问题讨论】:

  • 您可能需要将 res.srcDirs 添加到您的 sourceSets > main 在您的 build.gradle 文件中。在此处查看解决方案 - stackoverflow.com/a/17097436/857681。我遇到了同样的问题,这解决了它。一旦更改运行 gradle clean && gradle build 在您的项目根目录中。

标签: android android-layout android-icons


【解决方案1】:

将 dpi 添加到可绘制对象是无效的。您应该可以在清单中这样设置它:

<Application
  ...
  android:icon="@drawable/ic_launcher" > 
  <!-- change ic_launcher to whatever your png is named -->

典型的文件夹结构如下:

/
  AndroidManifest.xml
  /res
    /drawable-ldpi
      ic_launcher.png       # 36x36
    /drawable-mdpi
      ic_launcher.png       # 48x48
    /drawable-hdpi
      ic_launcher.png       # 72x72

完成此操作后,您可能需要进行清理(eclipse -> 项目 -> 清理),但如果您的 /gen/R.java 文件中出现这样的行,您就会知道它是成功的:

public static final int ic_launcher = 0x...;

如果不是,您可以删除 R.java 文件,ADT 将立即崩溃并从头开始重建它,并合并您的新可绘制对象。

作为最后一点,有时模拟器似乎坚持旧图标 - 清洁应该让它改变,但如果没有,进入设置并卸载应用程序,然后从 eclipse 再次运行,一切都应该 真的干净(同样适用于实际设备)

注意答案现在包括下面的 cmets

【讨论】:

    【解决方案2】:

    确保您已刷新您的 Android 项目。您可以尝试将图标文件的名称更改为现在使用的名称“ic_launcher.png”。

    【讨论】:

    • 谢谢。但是,我们应该为不同分辨率的屏幕提供不同的图像尺寸。我想避免使用该解决方案并使用适当支持的解决方案。奇怪。
    • 另外 - 我将如何“刷新”我的 Android 项目?你的意思是再运行一次?
    • 如果您在左侧的 Package Explorer 中右键单击您的项目,您可以选择 Refresh,它应该会找到您添加或更新的任何新文件。
    • 谢谢! :) 它没有显示默认图标,但也没有显示我放在文件夹中的图标哈哈。
    • 您是否尝试更改图标文件名并从清单文件中删除该行?
    猜你喜欢
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 2014-06-21
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    相关资源
    最近更新 更多