編輯:關於Android編程
當以Bitmap作為畫布材料時,可以繪制出以下各種圖案:
/**
* 圖形圖像處理:在Bitmap上繪畫
*/
public class MyBitMapViewSec extends View {
private int width;
private int height;
private Paint mPaintCircle;
private Paint mPaintRect;
private Bitmap mBitmap;
private Canvas mCanvasBm;
public MyBitMapViewSec(Context context) {
super(context);
}
public MyBitMapViewSec(Context context, AttributeSet attrs) {
super(context, attrs);
mPaintCircle = new Paint();
mPaintCircle.setColor(Color.YELLOW);
mPaintRect = new Paint();
mPaintRect.setColor(Color.GREEN);
//XOR:交疊和被交疊部分均不顯示;DST_OVER:自身交疊部分不顯示;SRC_OVER交疊部分只顯示自己
PorterDuffXfermode mode = new PorterDuffXfermode(PorterDuff.Mode.XOR);
mPaintRect.setXfermode(mode);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
width = getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec);
height = getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec);
setMeasuredDimension(width, height);
//參數:畫布寬、長尺寸和格式
mBitmap = Bitmap.createBitmap(width,height, Bitmap.Config.ARGB_8888);
mCanvasBm = new Canvas(mBitmap);//自定義一個畫布,畫布材料是Bitmap對象
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.RED);
//先在bitmap上畫
mCanvasBm.drawCircle(width / 2, height / 2, width / 2, mPaintCircle);
mCanvasBm.drawRect(0,0,width/2,width/2,mPaintRect);
//將畫好的bitmap畫出來
canvas.drawBitmap(mBitmap,0,0,null);//這一步必不可少
}
}
結果演示:
PorterDuffXfermode mode = new PorterDuffXfermode(參數);
參數為PorterDuff.Mode.DST_OVEL時:
參數為PorterDuff.Mode.XOR時:
如今我們大部分人都在玩微信,都用手機綁定了微信號,手機的功能太強大了,如果手機丟了,或者要換手機號碼怎麼辦?沒關系啦,騰訊公司也會想到這個問題,下面我來為大
Android開發之反編譯與防止反編譯 防止反編譯是每個程序員的必修課,因為當你辛辛苦的研發一個應用,被人家三下五除二給反編譯了,是一件
OptionsMenu 選項菜單(系統菜單 )OptionsMenu:系統級別菜單菜單的使用步驟:1. res裡的menu裡添加布局 在布局裡寫菜單項2. 在邏輯代碼中使
關於Android開發可以使用的工具有eclipse和Android studio等,這兩個工具都各有各的好處和不足。studio是谷歌推出的一款開發工具,而我們都知道A