给图片添加阴影效果,这是很常见的需求。第一种方法是自定义drawable,使用layer-list定义两个图片,代码如下:

show_view.xml:

android:top="5dp">

android:right="5dp">

在main.xml中定义一个textview作为待显示控件,将show_view.xml设为这个testview的背景,main.xml的代码如下:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.liusiyutaloner.frescotest.MainActivity">

android:layout_width="100dp"

android:layout_height="100dp"

android:background="@drawable/shadow_view"/>

运行程序显示效果如下:

看着还可以,但是这里面有一个缺陷,大家细看就会发现这个阴影是实边的,没有虚化的效果,这样就不够真实,影响用户体验。下面我们来看第二种方法。

第二种方式就是自定义view,代码里通过setShadowLayer绘制图片阴影,代码如下:

CustomShadowView类:

package com.example.liusiyutaloner.frescotest;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.RectF;

import android.util.AttributeSet;

import android.view.View;

public class CustomShadowView extends View {

private Paint mPaint;

public CustomShadowView(Context context, AttributeSet attrs) {

super(context, attrs);

mPaint = new Paint();

mPaint.setColor(Color.BLACK);

this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

//绘制阴影,param1:模糊半径;param2:x轴大小:param3:y轴大小;param4:阴影颜色

mPaint.setShadowLayer(10F, 15F, 15F, Color.GRAY);

RectF rect = new RectF(0 , 0, 200, 200);

canvas.drawRoundRect(rect, (float)75, (float)75, mPaint);

}

}

再将CustomShadowView类加到main.xml中,代码如下:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="150dp"

android:layout_height="150dp"

tools:context="com.example.liusiyutaloner.frescotest.MainActivity">

android:layout_gravity="center"

android:layout_width="125dp"

android:layout_height="125dp"

android:layout_centerHorizontal="true" />

运行即可看到以下效果:

可以看到这种方法绘制出的阴影有虚化效果,多了立体感和层次感,所以更推荐使用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

android 按钮带图标 阴影_Android实现图片添加阴影效果的2种方法相关推荐

  1. android 按钮带图标 阴影_android中带图标的按钮(ImageButton)怎么用

    展开全部 除了Android系统自带的Button按钮以外,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首先要在布局62616964757a686964616fe58685e5ae ...

  2. android 按钮带图标 阴影_Android Material Design系列之FloatingActionButton和Snackbar

    今天主讲的Material Design系列的两个控件都不难,所以一起讲了,分别是FloatingActionButton和Snackbar.这个系列都是主讲的Material Design风格的控件 ...

  3. 使用CSS为图片添加边框的几种方法

    http://blog.163.com/zb_17173/blog/static/31167488201132915251674/ HTML <img class="shadow&qu ...

  4. css给图片添加阴影效果方法

    css给图片添加阴影效果方法 box-shadow属性 代码 box-shadow属性 css可以实现很多的图片效果,图片阴影效果就是其中之一,那么css如何给图片添加阴影效果?本篇文章就给大家介绍如 ...

  5. Android 自带图标库 android.R.drawable

    在xml文件中调用. android:title="@string/secure_connect" android:orderInCategory="100" ...

  6. html给img添加阴影,WPS表格中如何给插入的图片添加阴影效果 看完你就知道了

    在制作WPS工作表中,我们经常会插入图片进入工作表,为了使插入的图片更加美观,我们可以给插入的图片添加阴影效果.其具体操作步骤如下: 工具/材料 WPS办公软件 操作方法 01 在桌面上双击WPS表格 ...

  7. android 文字添加阴影,android中给TextView或许Button的文字添加阴影效果

    android中给TextView或者Button的文字添加阴影效果 1在代码中添加文字阴影 TextView 有一个方法 /** * Gives the text a shadow of the s ...

  8. web自动化测试图片上传的两种方法

    web自动化测试图片上传的两种方法: 通过input标签的,如: <!DOCTYPE html> <html lang="en"> <head> ...

  9. html 图片加时间戳,怎么批量给图片加上时间戳 快速给图片添加相应的时间戳的方法...

    现在几乎人手一部手机,走到哪看见有趣的事物都会拍照留念,照片可以反映当时的情景,留下美好回忆,我们在翻看以前照片的时候可以充分感受时光的美好.不过当照片太多的时候,时间长了就会记不住照片上的是什么时候 ...

最新文章

  1. Numpy入门教程:07. 随机抽样
  2. 几分钟内学习 Clojure
  3. 【CentOS Linux 7】实验6【web服务器搭建与管理】
  4. 反射获取成员变量并使用【应用】
  5. lwip网络通信socket_lwIP在Socket模式下接口:BSD Socket API
  6. C51单片机————中断系统
  7. 随机森林 Random Forest
  8. FeelYourSound Chillout Engine Pro for Mac - MIDI文件生成插件
  9. paip.提升用户体验---网站程序HTML,JS需要注意的地方
  10. js数组 reduce函数
  11. 小米10青春版刷鸿蒙,没有高刷弱不禁风?小米10青春版刷新低价,这次用户或许会满意!...
  12. 图解 Cisco IOS 命名规范
  13. Hudi-集成Flink(Flink操作hudi表)
  14. c4d软件安装上打开不了_Mac安装软件问题,“xxx”已损坏,无法打开
  15. 别慌,你的数据或许还有救!(内整理有大量数据恢复软件)
  16. 地图原点半径距离经纬度计算
  17. Uniswap V2-Core 部分智能合约代码解析
  18. 关于VB提示ByRef参数类型不符的分析
  19. 【Linux】U-Boot启动文件start.S详解(超详细讲解,上篇)
  20. 2019年数字IC校招薪酬火爆出炉,你被倒挂了吗_

热门文章

  1. 融云 IM SDK 发送语音消息
  2. youtube 可以下载一些英语
  3. 雨伞16骨好还是24骨好_雨伞伞骨越多越好吗
  4. 一条sql是怎么执行的
  5. HTML3天快速入门教程(详细整理附案例)
  6. Django框架项目之课程主页——课程页页面、课程表分析、课程表数据、课程页面、课程接口、前台、后台
  7. 有奖试读 使用share SDK实现腾讯微博授权登录分享(1.x版本)
  8. c语言指opt算法实现,Sunday算法c语言版实现
  9. php 平衡式比例混合,浙江PHP机械泵入式平衡式比例混合装置
  10. VBScript文件操作对象FileSystemObject大全