我有一个特定的drawable,我在我的应用程序中用作背景。它不是纯色 现在我想为这个drawable添加圆角。
我只发现圆角可用渐变色或纯色作为背景而不是另一种可画面。
是否有另一种简单的方法可以将圆角添加到drawable中?
答案 0 :(得分:3)
使用 AQuery 使Drawable或Downloaded图像成圆角。
http://code.google.com/p/android-query/wiki/ImageLoading
注意:这对于使用图像执行异步任务非常有效,并且提供了很多功能。
从此处下载API: http://code.google.com/p/android-query/downloads/list
代码来制作图片的圆角:
AQuery aq = new AQuery(this);
// Image URL to download
String url = "http://www.vikispot.com/z/images/vikispot/android-w.png";
ImageOptions options = new ImageOptions();
options.round = 15;
aq.id(R.id.image).image(url, options);
答案 1 :(得分:0)
你可以使用“图层列表”drawable完成你想要的吗?它允许您组合形状和图形绘制,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_home_button_img"/>
<item android:drawable="@drawable/icon_home_shape_overlay"/>
</layer-list>
在这种情况下,shape_overlay是:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#60000000"/>
<stroke android:width="3dp" color="#ff000000"/>
<corners android:radius="10dp" />
</shape>
我正在使用此功能在图像上获得“选定”效果。不过,它对我有用,因为有问题的图像是一个图标,背景与包含视图背景的颜色相同(都是白色)。
我看到的另一个选项是修改drawable,使其具有圆角。
答案 2 :(得分:0)
对于我需要它的情况,我得到了一个充满渐变和圆角的形状。这看起来有点像我想要达到的效果。
如果你有一个纹理或其他一些复杂的drawable你不能用形状构建,你似乎需要在你的项目中添加一个圆角的drawable。或者像你在question中解释的那样自己构建圆角。
答案 3 :(得分:0)
你可以用你的drawable创建一个Nine-patch file。根据需要,中心与您当前的背景相匹配,边角为圆角。 Android文档显示how to create Nine-patch files,您可以使用Draw nine-patch tool进行构建。
这就是SDK如何为弹出框等创建圆角渐变背景样式。