Android進階2之 陰影製作(Shadow)
阿新 • • 發佈:2018-12-20
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); } }}