可以利用 Paint 物件的 setShadowLayer 函數.
Java 程式碼範例 :
程式碼
public class helloWorld extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( new drawCanvas(this) );
}
class drawCanvas extends View {
public drawCanvas(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 建立 Paint 物件
Paint vPaint = new Paint();
Paint vPaint2 = new Paint();
// --------------------------------------------
// 設定顏色
vPaint.setColor(0xFFFFFF00);
// 實心矩形
canvas.drawRect( 30
, 50
, 130
, 150
, vPaint
);
// 設定陰影 (柔邊, X 軸位移, Y 軸位移, 陰影顏色)
vPaint.setShadowLayer(5, 3, 3, 0xFFFF00FF);
// 實心矩形 & 其陰影
canvas.drawRect( 30
, 200
, 130
, 300
, vPaint
);
// --------------------------------------------
// 設定顏色
vPaint2.setColor(0xFFFFFF00);
// 空心
vPaint2.setStyle(Style.STROKE);
// 空心矩形
canvas.drawRect( 200
, 50
, 300
, 150
, vPaint2
);
// 設定陰影 (柔邊, X 軸位移, Y 軸位移, 陰影顏色)
vPaint2.setShadowLayer(5, 3, 3, 0xFFFF00FF);
// 空心矩形 & 其陰影
canvas.drawRect( 200
, 200
, 300
, 300
, vPaint2
);
}
}
}
範例結果 :