如何设置Android动态壁纸图标(也称为“缩略图”)

15

我创建了我的第一个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/中创建一个48x48的图标,命名为icon.png
  4. 如果允许的话,我还尝试在其他清单标记中明确添加图标。例如服务、活动、意图过滤器(显然我不知道这个清单文件真正的工作原理,所以我尝试了任何东西)
  5. 应用程序管理中,图标显示正确
  6. 选择动态壁纸时,图标未正确显示
  7. mdpi图标为48x48,ldpi图标为36x36,hdpi图标为72x72
7个回答

36
为了在动态壁纸菜单中看到图标,你需要设置应用程序标记的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工作时破坏了它--我选择了这个确切的示例来首先尝试。我也没有拇指图标。 - philcolbourn
谢谢。我需要缩略图属性和一个图标。谢谢。 - philcolbourn
谢谢George。我已经使用我的动态壁纸将近一年了。效果很好。感谢大家的帮助。 - philcolbourn

1

你也可以将 @drawable/icon 更改为 @drawable/<youricon>


图标是默认的还是安卓使用找到的第一个图标? - philcolbourn
1
图标只是在res/drawable/文件夹中文件的名称。 - Melody Horn
我刚意识到SO不喜欢我的自定义伪标签。你可以随便命名它,它会将你的图标与res/drawable文件夹中的可绘制名称匹配。它忽略文件类型,因此您无需在xml中包含扩展名。 - Falmarri
@Falmarri:我们如何从应用程序中将动态壁纸设置为默认壁纸?有什么想法吗? - CoDe
@Subh:这个问题已经两年了,你应该提出一个新的问题。但我非常确定没有办法将“动态壁纸”设置为单个应用程序的背景。只能设置系统背景。 - Falmarri
@Falmarri,感谢您的观点。您能否提供任何相关的参考资料? - CoDe

1
我在AndroidManifest.xml中设置了<application android:icon="@drawable/icon"/>,对于我在/res/drawable- :== hdpi | ldpi | mdpi文件夹中使用的每个icon.png都可以正常工作。

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

1
谢谢Matt。我在res/drawable中有一个icon.png。 - philcolbourn

0
在res/drawables目录中,您会看到icon.png。您可以更改此文件以成为所需的图标。hdpi用于高密度设备,例如Nexus One或Evo。mdpi适用于类似myTouch或G1的设备。

我在res/drawable中有一个名为icon.png的图标。这在应用程序安装时可以正常工作,但是当用户选择动态壁纸时却不能正常工作。但是你是否建议我应该在res/drawable-Xdpi/目录中拥有不同尺寸的icon.png文件? - philcolbourn
实际上,我已经在drawable-ldpi、mdpi和hdpi目录中有不同大小的图标文件,它们的名称都是icon.png。 - philcolbourn

0

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


0

关于分辨率的更多信息可以在此主题中找到。

特别是这一部分:

...使用的分辨率似乎比启动器图标的分辨率要大得多,使用48作为中等或72作为高分辨率会在模拟器和真实设备上产生非常模糊的图像,这让我想到可能存在一些缩放...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接