本文实例讲述了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中添加一个边距... 所以,我的主要问题是这是唯一的实现方法吗?或者在父视图上有一个标记或一个配置,允许正确地绘制它的子视图?