Android进阶2之 阴影制作(Shadow)



阴影制作:包括各种形状(矩形,圆形等等),以及文字等等都能设置阴影。

阴影制作是什么原理呢?

其实很简单,你需要设置阴影的东西被看作一个主层。然后在主层下面画一个阴影层。

阴影制作涉及到一个重要函数:

public void setShadowLayer(float radius, float dx, float dy, int color)
radius:阴影半径
dx:X轴方向的偏移量
dy:Y轴方向的偏移量
color:阴影颜色

注意:如果半径被设置为0,意思就是去掉阴影。

具体实现:


package xiaosi.textShadow; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.view.View; public class TextShadowActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new drawCanvas(this)); } class drawCanvas extends View { private Bitmap bitmap = null; public drawCanvas(Context context) { super(context); bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.i_skinprocess); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 建立Paint 物件 Paint paint1 = new Paint(); // 设定颜色 paint1.setColor(0xFFFFFF00); // 设定阴影(柔边, X 轴位移, Y 轴位移, 阴影颜色) paint1.setShadowLayer(5, 3, 3, 0xFFFF00FF); // 实心矩形& 其阴影 canvas.drawText("我很爱你", 20,40,paint1); Paint paint2 = new Paint(); paint2.setColor(Color.GREEN); paint2.setShadowLayer(10, 5, 2, Color.YELLOW); canvas.drawText("你真傻", 20,60,paint2); Paint paint3 = new Paint(); paint3.setColor(Color.RED); paint3.setShadowLayer(30, 5, 2, Color.GREEN); canvas.drawCircle(50, 130,30, paint3); Paint paint4 = new Paint(); paint4.setShadowLayer(5, 8, 7, Color.DKGRAY); canvas.drawBitmap(bitmap, 50, 200, paint4); } } }


Android进阶之路 - 背景阴影、阴影背景 不知道你是不是也经常听到这些话:你这个没有阴影效果;你这个阴影太浓了;你这个阴影太粗了;你这个阴影太实了;你这个阴影颜色也不对,你这个阴影.. 在正式开发中,临近上线前有个环节叫UI验收(产品验收在其前后均可),主要查看开发效果与设计图是否统一,当然很多UI可能也会临时在做修改... 话回最初,在验收环节中经常会提出关于阴影的问题,可以说是不胜其烦,正好最近有一些时间,特意记录一下我已知的阴影实现 阅读详情

相关推荐

Android实现阴影背景的几种方式 (附完整源码)

Android实现阴影背景的几种方式 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 787

Android阴影实现的几种方案

作者:newki链接:https://juejin.cn/post/7149706291261210654圆角容器?自定义圆角容器?自定义圆角加阴影容器?太难了,不知道大家有没有同款UI设计师,非常喜欢圆角,还喜欢异形的圆角,特别喜欢顶部圆角或者左上角圆角。之前在面向UI设计师开发一篇文章中,我们已经对一些异形圆角做了自定义的处理,可是现在需求升级了。https://juejin.cn/post/...

Android技术之家 8618

Android设置控件阴影的三种方法

本文实例为大家分享了Android设置控件阴影的方法,供大家参考,具体内容如下 第一种方式:elevation View的大小位置都是通过x,y确定的,而现在有了z轴的概念,而这个z值就是View的高度(elevation),而高度决定了阴影(shadow)的大小。 View Elevation(视图高度) View的z值由两部分组成,elevation和translationZ(它们都是Android L新引入的属性)。 eleavation是静态的成员,translationZ是用来做动画。 Z = elevation + translationZ 在layout中使用* andr

Android设置控件阴影的几种方法

View的z值由两部分组成,elevation和translationZ(它们都是Android L新引入的属性)。eleavation是静态的成员,translationZ是用来做动画。View的大小位置都是通过x,y确定的,而现在有了z轴的概念,而这个z值就是View的高度(elevation),而高度决定了阴影(shadow)的大小。里面textview设置阴影背景的方式,并设置aliparentBottom显示,父布局不设置paddingBottom属性。

chengzhenjia的博客 4647

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

东城绝神 4460

爬取信用中国里面的行政处罚

result字段名为行政处罚文书号、处罚决定日期、处罚内容、处罚金额、违法事实、处罚机关、公司名称,行政处罚次数。file_path=r'E:\Data analyze\python\行政处罚爬虫/'#路径需要按实际修改。writer = pd.ExcelWriter('统计.xlsx')# 写入Excel文件。src_workbook=file_path+r'行政处罚(名单).xls' #表格名称也要更改。# keyword = input("输入爬取的公司全称必须是全称")

qq_42863025的博客 1674

5分钟掌握Android阴影设计:shadow4android 9-patch阴影生成器完全指南

在Android应用开发中,如何为UI元素添加专业级的阴影效果一直是设计师和开发者面临的挑战。今天,我将为你介绍一款强大的开源工具——shadow4android,这是一个专门为Android设计的9-patch阴影生成器,能够帮助你在几分钟内创建出完美适配各种屏幕尺寸的阴影效果。 ## 🚀 项目亮点速览 **shadow4android** 是一个基于Web的在线工具,专为Android开

gitblog_00282的博客 852

F5 GTM DNS 实战指南:智能DNS的监控与健康检查机制

本文深入解析F5 BIG-IP GTM智能DNS的核心机制,重点阐述其监控与探针两大功能如何协同工作。监控器负责深度检查服务器应用健康,确保服务可用性;探针则实时测量网络路径质量,实现基于延迟的智能流量调度。文章通过实战配置步骤,指导如何构建逻辑架构、建立iQuery通信、配置业务级健康检查及探针,从而构建高可用、高性能的全局负载均衡解决方案。

weixin_29240711的博客 469

终极Android阴影生成器:shadow4android免费9-patch阴影制作工具

在Android应用开发中,为界面元素添加阴影效果是提升用户体验的关键一步。**shadow4android**是一个专门为Android开发者设计的9-patch阴影生成工具,它能让你轻松创建填充或透明的阴影效果,无需复杂的代码实现。这个免费工具基于9-patch图片格式,支持各种屏幕尺寸和分辨率,为你的应用界面增添专业感和立体效果。 ## ✨ 项目亮点展示 **shadow4android

gitblog_00946的博客 290

基于51单片机的智能灌溉系统

基于51单片机的智能灌溉系统

jiejiezuishuai的博客 2102

STM32的DMA模块及Protues仿真实验

(一)DMA简介      DMA(Direct Memory Access,直接存储器访问), 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可 供其它操作使用。      STM32F407共有两个 DMA 控制器,总共有 16 个数据流(每个控制器 8 个),每一个 DMA 控制器都用于管理 一个或多

weixin_45930204的博客 2850

android compose shadow 阴影 使用

android compose shadow 阴影 使用

maoning20080808的专栏 977

RK3588 hdmirx 调试(含v4l2工具,edid编辑)

RK3588 Buildroot系统中调试HDMI-RX的过程,包括抓图、修改EDID数据、编辑EDID等操作。首先,通过logcat和寄存器信息查询HDMI-RX的状态,使用v4l2-ctl工具进行测试和修改EDID。

501846585_QQAndroid_java 2685

2024年安卓最新Android 阴影控件库,android handler面试

Android进阶学习全套手册Android对标阿里P7学习视频BATJ大厂Android高频面试题最后,借用我最喜欢的乔布斯语录,作为本文的结尾:人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

2301_82242426的博客 763

第七节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 用户管理(上)

本节的内容是用户管理,后端Python代码的实现。

cuiwin的专栏 779

20 硬件工程师笔面试高频考点真题解析——寄存器

摘要: 寄存器是由多个边沿触发的D触发器组成的多位存储单元,用于同步时序电路中的数据暂存、隔离毛刺、跨时钟域同步等。选型需考虑位宽、触发方式(边沿/电平)、异步控制、电气参数等。核心时序参数包括建立时间(Tsu)、保持时间(Thold)和时钟输出延迟(Tco)。寄存器广泛应用于时序逻辑、流水线分割、毛刺消除、跨时钟域同步及计数分频等场景。同步复位依赖时钟边沿,时序易收敛但需时钟支持;异步复位独立于时钟,上电可靠但需注意亚稳态风险。

XU157303764的博客 1342

Android 自定义阴影Shadow颜色,大小等样式

最近在项目碰到一个比较头疼的项目,设计师需要给ui图中的一些按钮之类的东西添加阴影。乍一看设计图,这没啥嘛,咱们Android中不是有这个属性嘛,于是撸起袖子开搞: <TextView android:id="@+id/btn_test_performance" android:layout_width="wrap_content" android:layout_h...

lemon15588的博客 5万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: Android进阶2之图片倒影效果
下一篇: Android进阶2之检索Android的图片库并显示图片详细信息
com_xpp
博客等级 码龄16年 23粉丝 160原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值