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

所属分类: 软件编程 / Android 阅读数: 54
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多