【问题标题】:How to set the Android Live Wallpaper icon (aka "thumbnail")如何设置 Android 动态壁纸图标(又名“缩略图”)
【发布时间】:2010-08-18 16:39:05
【问题描述】:

我构建了我的第一个 Android 应用。

这是为 2.2 设计的动态壁纸。

当我按住屏幕,选择Wallpapers,然后选择Live Wallpapers时,我的动态壁纸看起来像一个默认图标,上面覆盖了我的动态壁纸的名称。

如何设置此图标?

我的清单文件有一个应用程序图标指定为@drawable/icon

更新

我认为我需要为这个问题添加一些信息,因为它不能很好地描述我的问题(抱歉)。

  1. 我拥有所有res/drawable-[hml]dpi/ 图标。我将它们都命名为icon.png
  2. 我的清单文件包含<application android:label="@string/app_name" android:icon="@drawable/icon">
  3. 我还尝试在res/drawable/ 中创建一个名为icon.png 的48x48 图标。
  4. 如果允许,我还尝试在其他清单标记中显式添加图标。例如。服务、活动、意图过滤器(很明显我不知道这个清单文件是如何工作的,所以我尝试了任何东西)
  5. Manage Applications 中,图标正确显示
  6. 选择动态壁纸时,图标显示不正确
  7. mdpi 图标为 48x48,ldpi 图标为 36x36,hdpi 图标为 72x72

【问题讨论】:

    标签: android live-wallpaper


    【解决方案1】:

    为了在动态壁纸菜单中看到图标,您需要为应用程序<Wallpaper> 标签设置android:thumbnail 属性。这通常可以在扩展 WallpaperService 的类对应的 XML 文件中找到。

    查看 SDK 提供的 CubeLiveWallpaper 示例应用程序,我们看到此标记位于 cube1.xml 和 cube2.xml 中。下面的修改版本显示位于res/drawable 中的图标 thumb.png 并提供在 strings.xml 中定义的描述

    <wallpaper 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:thumbnail="@drawable/thumb"
        android:description="@string/description"
        android:settingsActivity="com.example.android.livecubes.cube2.CubeWallpaper2Settings"
    />
    

    注意:无论文件扩展名如何,这都有效,假设格式是受支持的类型 - jpg。 png等

    【讨论】:

    • 有趣。我的 SDK 示例与您的不匹配。我想知道我是否在试图让 Eclipse 工作时杀死了它——我选择了这个确切的例子来首先尝试。我也没有拇指图标。
    • 谢谢。我需要缩略图属性和图标。谢谢。
    • 谢谢乔治。我已经使用我的动态壁纸将近一年了。效果很好。谢谢大家的帮助。
    【解决方案2】:

    您也可以将@drawable/icon 更改为@drawable/&lt;youricon&gt;

    【讨论】:

    • 图标是默认的还是android使用它找到的第一个图标?
    • icon 只是 res/drawable/ 中的文件名。
    • 我刚刚意识到 SO 不喜欢我的自定义伪标签。您可以随意命名它,它会将您的图标与 res/drwable 文件夹中的可绘制对象的名称相匹配。它会忽略文件类型,因此您不需要在 xml 中包含扩展名
    • @Falmarri : 我们如何将动态壁纸设置为应用程序的默认壁纸?..有什么想法吗?
    • @Subh:这个问题有2年了,你应该问一个新的。但我很确定没有办法将“动态壁纸”设置为单个应用程序的背景。只有系统背景。
    【解决方案3】:

    我在我的 AndroidManifest.xml 中设置了&lt;application android:icon="@drawable/icon"/&gt;,它对我在

    中使用的每个 icon.png 都很好

    /res/drawable- :== hdpi |低密度脂蛋白 | mdpi

    文件夹。

    【讨论】:

      【解决方案4】:

      创建您的图标并将其保存在res/drawable/icon.png。您也可以使用icon.jpgicon.gificon.bmp

      【讨论】:

      • 谢谢马特。我在 res/drawable 中有一个 icon.png。
      【解决方案5】:

      在 res/drawables 目录中,您将看到 icon.png。您将此文件更改为您想要的图标。 hdpi 适用于高密度设备,例如 nexus one 或 evo。 mdpi 适用于 myTouch 或 G1 等设备

      【讨论】:

      • 我在 res/drawable 中有一个名为 icon.png 的图标。这在安装应用程序时有效,但在用户选择动态壁纸时无效。但是您是否建议我应该在 res/drawable-Xdpi/ 目录中有不同大小的 icon.png 文件?
      • 其实我在drawable-ldpi、mdpi和hdpi目录下已经有了不同大小的图标文件名icon.png。
      【解决方案6】:

      更多关于分辨率的信息可以在this thread找到。

      本节特别:

      ...使用的分辨率似乎比启动器图标大很多 分辨率,中使用 48 或高使用 72 会产生非常模糊的效果 模拟器和真实设备上的图像,让我想到那里 是否正在进行缩放...

      【讨论】:

        【解决方案7】:

        不支持将动画 .GIF 文件用作应用程序启动器图标。 Gif 图标不会给您任何计算错误,但动画不起作用。

        【讨论】:

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