Android编程之阴影(Shadow)制作方法
程序员文章站
2024-03-04 17:24:11
本文实例讲述了android编程之阴影(shadow)制作方法。分享给大家供大家参考,具体如下:
先看运行效果图如下:
阴影制作:包括各种形状(矩形,圆形等等),以...
本文实例讲述了android编程之阴影(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相关内容感兴趣的读者可查看本站专题:《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。