編輯:關於Android編程
兩種思路,第一種思路是通過對Bitmap進行操作,將Bitmap的像素值get到一個int[]數組裡,因為在android裡Bitmap通常是ARGB8888格式,所以最高位就是A通道的值,對齊進行改變後再新建一個Bitmap即可。第二種思路是通過設置canvas的paint的透明度,然後通過canvas.drawBitmap()來改變View的透明度。具體代碼如下:
第一種思路:
public static Bitmap getTransparentBitmap(Bitmap sourceImg, int number){
int[] argb = new int[sourceImg.getWidth() * sourceImg.getHeight()];
sourceImg.getPixels(argb, 0, sourceImg.getWidth(), 0, 0, sourceImg
.getWidth(), sourceImg.getHeight());// 獲得圖片的ARGB值
number = number * 255 / 100;
for (int i = 0; i < argb.length; i++) {
argb[i] = (number << 24) | (argb[i] & 0x00FFFFFF);
}
sourceImg = Bitmap.createBitmap(argb, sourceImg.getWidth(), sourceImg
.getHeight(), Config.ARGB_8888);
return sourceImg;
}第二種思路:
示例代碼:
class drawCanvas extends View {
public drawCanvas(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 取得Resource 圖片的Bitmap
Bitmap vBitmap = BitmapFactory.decodeResource( this.getResources()
, R.drawable.icon
);
// 建立Paint 物件
Paint vPaint = new Paint();
vPaint .setStyle( Paint.Style.STROKE ); //空心
vPaint .setAlpha( 75 ); //
canvas.drawBitmap ( vBitmap , 50, 100, null ); //無透明
canvas.drawBitmap ( vBitmap , 50, 200, vPaint ); //有透明
}
}兩種方法各有用途,哪個方面用哪。
使用Android studio創建你的第一個項目
1.創建HelloWorld項目任何編程語言寫出的第一個程序毫無疑問都會是Hello World,這已經是自20世紀70年代一直流傳下來的傳統,在編程界已成為永恆的經典,
Android系統 應用圖標顯示未讀消息數(BadgeNumber) 桌面app圖標的角標顯示
Android系統 小米,三星,索尼手機發送桌面快鍵提醒數字圖標,在Android系統中,眾所周知不支持BadgeNumber,雖然第三方控件BadgeView可以實現應
神奇的 Swift 錯誤處理
Swift 中的錯誤處理從 O-C 沿襲而來,但 Swift 1.0 之後逐漸發生了巨大改變。重要的改變發生在 Swift 2,它率先使用了“處理非異常的狀態
Android實現單項、多項選擇操作
本文實例為大家分享了Android實現單項、多項選擇操作的相關代碼,供大家參考,具體內容如下1、單項選擇1.1.布局<?xml version=1.0 en