Android中创建渐变色并为ImageView设置渐变色的方法
Android开发:创建渐变色并设置到ImageView
1. 创建渐变Drawable资源文件
在res/drawable目录下创建渐变效果的xml资源文件,根标签为<shape>,内部通过<gradient>定义渐变规则,可搭配<corners>、<size>等标签调整样式:
gradient.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="135" android:endColor="#aaFFB5B9" android:startColor="#aaFFDEB5" /> <corners android:radius="0dp" /> <size android:width="120dp" android:height="120dp"/> </shape>
gradient2.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="135" android:startColor="#aaECB4FF" android:endColor="#aaB4CCFF" /> <corners android:radius="0dp" /> <size android:width="120dp" android:height="120dp"/> </shape>
2. 将渐变设置到ImageView
在布局文件中,通过android:foreground属性把渐变Drawable叠加到ImageView上层(若要将渐变作为ImageView背景,改用android:background属性即可):
<!-- 带渐变遮罩的ImageView --> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/your_target_image" android:foreground="@drawable/gradient" /> <!-- 另一个渐变效果的ImageView --> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/your_another_image" android:foreground="@drawable/gradient2" />
核心参数说明
android:angle:渐变方向角度,仅支持45的倍数(0为从左到右,90为从上到下,135为左上到右下)startColor/endColor:渐变起始/结束颜色,#aa前缀代表半透明(前两位为透明度,后六位为颜色值)size:定义渐变Drawable的固定尺寸,不设置则自动适配ImageView大小
内容的提问来源于stack exchange,提问作者ben
相关产品推荐
相关产品推荐

