Android Paint ShadowLayer 设置阴影效果
Paint 也有一个方法用于设置阴影效果的方法 setShadowLayer()
setShadowLayer()
setShadowLayer(float radius, float dx, float dy, int shadowColor);
参数说明
| 参数 | 说明 |
|---|---|
| radius | 为阴影的角度 |
| dx | 阴影与 x 轴的距离 |
| dy | 阴影与 y 轴的距离 |
| shadowColor | 为阴影的颜色 |
使用方法
mPaint.setShadowLayer(5,0,0,Color.BLACK); // 绘制文字 canvas.drawText("简单教程,简单编程", 400, 400, mPaint);
clearShadowLayer()
如果要清除阴影,则可以使用 clearShadowLayer()
范例

-
创建一个 空的 Android 项目
cn.twle.android.ShadowLayer -
自定义一个 View 类
MsView.javapackage cn.twle.android.shadowlayer; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.support.v7.widget.AppCompatImageView; public class MsView extends AppCompatImageView { public MsView(Context context) { super(context, null); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint mPaint = new Paint(); mPaint.setFlags(Paint.ANTI_ALIAS_FLAG); mPaint.setAntiAlias(true);// 抗锯尺 mPaint.setColor(0xffff0000); mPaint.setTextSize(96.0f); mPaint.setShadowLayer(10,10,10,Color.BLACK); // 绘制文字 canvas.drawText("简单教程,简单编程", 0, 400, mPaint); invalidate(); } }
-
修改
MainActivity.java设置setContentView(new MsView(MainActivity.this))package cn.twle.android.shadowlayer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MsView(MainActivity.this)); } }