I would like to set a certain Drawable as the device's wallpaper, but all wallpaper functions accept Bitmaps only. I cannot use WallpaperManager because I'm pre 2.1.
Also, my drawables are downloaded from the web and do not reside in R.drawable.
新的Android API 22 getResources().getDrawable()现已弃用.现在最好的方法是只使用getDrawable().
改变了什么?
android android-resources android-drawable android-5.1.1-lollipop
我在使用Android的XML中找到形状定义的文档时遇到了一些问题.我想在XML文件中定义一个填充纯色的简单圆圈,以将其包含在我的布局文件中.
可悲的是,android.com上的文档没有涵盖Shape类的XML属性.我想我应该使用ArcShape来绘制圆形,但是没有解释如何设置圆形从圆弧中所需的大小,颜色或角度.
我正在使用Android Studio 1.1 Preview 1.我注意到当我创建一个新项目时,我得到以下层次结构:

不同DPI的Mipmap文件夹,没有更多不同的DPI可绘制文件夹.
我应该将所有资源放在mipmap文件夹中,还是只放置应用程序图标?
从Android 4.3(Jelly Bean)开始,我们现在可以利用这些res/mipmap文件夹来存储"mipmap"图像.
例如,Chrome for Android将其图标存储在这些文件夹中,而不是更常用的res/drawable文件夹中.
这些mipmap图像与其他熟悉的可绘制图像有何不同?
我看到在我的清单中,我们使用@mipmap/限定符,而不是@drawable/,这对于资源文件夹名称是有意义的:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Run Code Online (Sandbox Code Playgroud)
在Android 4.3的API的文档具有下面要说:
使用mipmap作为位图或drawable的源是提供高质量图像和各种图像比例的简单方法,如果您希望在动画期间缩放图像,这可能特别有用.
Android 4.2(API级别17)在Bitmap类中添加了对mipmap的支持 - 当您提供了mipmap源并启用了setHasMipMap()时,Android会在您的Bitmap中交换mip图像.现在在Android 4.3中,您还可以通过提供mipmap资源并在位图资源文件中设置android:mipMap属性或通过调用hasMipMap()来为BitmapDrawable对象启用mipmaps.
我没有看到任何有助于我理解的东西.
XML Bitmap资源具有以下android:mipMap属性:
布尔.启用或禁用mipmap提示.有关更多信息,请参见setHasMipMap().默认值为false.
就我所见,这不适用于启动器图标.
问题出现在Google网上论坛(资源名称"mipmap"的目的?!)上,Romain Guy回复道:
提供通常可以计算的更大分辨率的图像很有用(例如,在mdpi设备上,Launcher可能希望更大的hdpi图标显示大型应用程序快捷方式.)
我觉得这几乎是有意义的,但并不完全.
我仍然倾向于选择Randy Sugianto的跟进:
这有什么好处?是否有任何指南如何使用mipmap,可能是为了更好的启动器图标?
当然,维基百科有一个"Mipmap"页面,它指的是一种1983年发明的旧技术,我无法与当前的Android实现相关联.
我们现在应该将所有应用程序图标res/mipmap存储在文件夹中吗?这些mipmap图像的准则是什么?
更新#1
这是一篇博文,试图解释一下.
但是该博客文章中使用的图像显示了一个包含许多徽标的文件.这不是我在Chrome的mipmap文件夹中看到的.
Chrome的mipmap-hdpi文件夹包含三张图片.一个是Chrome徽标,单独使用.

奇怪的是,它是72x72,而不是48x48,我希望看到.
也许这就是全部 - 我们只需要在mipmap文件夹中保留更大的图标?
更新#2
2014年10月23日的Android开发者博客文章再次证实了将mipmap文件夹用于应用程序图标的想法:
如何将Bitmap图像转换为Drawable?
是否可以为我们添加的图像设置边距或填充android:drawableLeft?
调用setCompoundDrawables方法后,未显示复合Drawable ..
Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我需要在res/drawable文件夹中添加图片......
当我选择时new > image asset,会出现一个对话框来选择Asset Type......
如何将图像添加到res/drawable文件夹?
我在这里有一个xml的textView.
<TextView
android:id="@+id/bookTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/checkmark"
android:gravity="center_vertical"
android:textStyle="bold"
android:textSize="24dip"
android:maxLines="1"
android:ellipsize="end"/>
Run Code Online (Sandbox Code Playgroud)
如您所见,我将DrawableLeft设置为xml.
我想在代码中更改drawable.
无论如何要去做这件事吗?或者在文本视图的代码中设置drawableLeft?