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.java
package 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)); } }