欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程之阴影(Shadow)制作方法

程序员文章站 2024-03-04 17:24:11
本文实例讲述了android编程之阴影(shadow)制作方法。分享给大家供大家参考,具体如下: 先看运行效果图如下: 阴影制作:包括各种形状(矩形,圆形等等),以...

本文实例讲述了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程序设计有所帮助。