当前位置: 首页 > 编程笔记 >

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

戎俊
2023-03-14
本文向大家介绍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程序设计有所帮助。

 类似资料:
  • 使用这个属性可以让页面更有立体感,给元素添加一个阴影,使得元素看起来是悬浮在原来的位置,下面就看看它的用法吧。 1. 官方定义 box-shadow 属性向框添加一个或多个阴影。 2. 慕课解释 通过 box-shadow 可以给任意 H5 元素添加阴影,可以是一个,如果用,号隔开可以添加多个。 3. 语法 box-shadow:h-shadow v-shadow blur color;

  • 它可以给任意的字符设置一个或多个阴影。 1. 官方定义 text-shadow 属性向文本设置阴影。 2. 慕课解释 text-shadow 一共接受 4 个参数,前两个是阴影的位置通过 x,y坐标系来设定,第三个参数设定模糊的大小,最后一个参数设定阴影的颜色。 3. 语法 .demo{ text-shadow: h-shadow v-shadow blur color; } 属性值 值

  • box-shadow 属性向框添加一个或多个阴影。 浏览器支持 Property box-shadow 10.0 4.0 -webkit- 12.0 9.0 4.0 3.5 -moz- 5.1 3.1 -webkit- 10.5 语法 box-shadow: none|h-shadow v-shadow blur spread color |inset|initial|inherit; 该属性是由

  • 创建模式 在画布上创建模式需要以下方法 - Sr.No. 方法和描述 1 createPattern(image, repetition) 此方法将使用image来创建模式。 第二个参数可以是具有以下值之一的字符串:repeat,repeat-x,repeaty和no-repeat。 如果指定了空字符串或null,则重复将。 假设 例子 (Example) 下面是一个简单的例子,它利用上面提到的方

  • Desktop Unity computes shadow map sizes this way: Unity计算阴影贴图大小是这样的: First light's "coverage box" on the screen is computed. This is what rectangle on the screen the light possibly illuminates: 首先计算屏幕

  • 正如标题所说,我正试图将一个CardView放入一个ScrollView中,但是CardView的仰角阴影却被它的父级关闭了... 这是布局XML: 我找到的唯一的解决方法是在父ScrollView中添加一个填充,或者在子CardView中添加一个边距... 所以,我的主要问题是这是唯一的实现方法吗?或者在父视图上有一个标记或一个配置,允许正确地绘制它的子视图?