繁体   English   中英

如何在一个drawable中添加圆角我在Android中用作背景?

[英]How to add rounded corner to a drawable I'm using as a background in Android?

我有一个特定的drawable,我在我的应用程序中用作背景。 它不是纯色。
现在我想为这个drawable添加圆角。

我只发现圆角可用渐变色或纯色作为背景但不是另一种可绘制的形状。

是否有另一种简单的方法可以将圆角添加到drawable中?

使用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);

你能用“图层列表”绘图完成你想要的吗? 它允许您组合形状和图形可绘制,如下所示:

<?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,使其具有圆角。

对于我需要它的情况,我得到了一个充满渐变和圆角的形状。 这看起来有点像我想要达到的效果。

如果你有一个纹理或一些其他复杂的drawable,你不能用形状构建,似乎你需要添加一个带有圆角的drawable到你的项目。 或者像你在这个问题中解释的那样自己建立圆角。

您可以使用drawable创建一个Nine-patch文件 根据需要,中心与您当前的背景相匹配,边角为圆角。 Android文档显示了如何创建Nine-patch文件 ,您可以使用Draw九补丁工具来构建它。

这就是SDK如何为弹出框等创建圆角渐变背景样式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM