顏色的值是以16進制來表示凭疮,而顏色的透明度值要設(shè)置在原有顏色值上則需要左移6位饭耳。
Java的位運算是先將數(shù)值轉(zhuǎn)化為二進制數(shù),然后再移動相應(yīng)位數(shù)执解,由于二進制左移4位對應(yīng)十六進制是左移1位寞肖,所以要設(shè)置顏色透明度的百分比就得先將255乘以透明度的百分比,然后再左移4*6=24位。
int color = ContextCompat.getColor(getApplicationContext(), android.R.color.holo_blue_dark);
//這里的mPercent就是顏色透明度的百分比
mView.setBackgroundColor(((255 * mPercent) << 24) | color);