public class MainActivity extends Activity {
private GradientDrawable mBackShadowDrawableLR;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageView imageView = new ImageView(this);
Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher).copy(Bitmap.Config.ARGB_8888, true);
addShadow(bm);
imageView.setImageBitmap(bm);
setContentView(imageView);
}
public Bitmap addShadow(Bitmap bm) {
int[] mBackShadowColors = new int[] { 0x00000000 , 0xB0AAAAAA};
mBackShadowDrawableLR = new GradientDrawable(
GradientDrawable.Orientation.LEFT_RIGHT, mBackShadowColors);
mBackShadowDrawableLR.setGradientType(GradientDrawable.LINEAR_GRADIENT);
mBackShadowDrawableLR.setBounds(0, 0, 20 , bm.getHeight());
Canvas canvas = new Canvas(bm);
mBackShadowDrawableLR.draw(canvas);
return bm;
}
}
//起始颜色和结束颜色
int[] mBackShadowColors = new int[] { mFromColor , mToColor};
//线性渐变
mBackShadowDrawableLR = new GradientDrawable(
GradientDrawable.Orientation.LEFT_RIGHT, mBackShadowColors);
mShadowWidth = mTheme.getDimen(R.dimen.novel_reader_page_shadowwidth);
//这是需要绘制阴影的位置
mBackShadowDrawableLR.setBounds(fromx, 0, (int) (fromx + mShadowWidth) , height);
//绘制到canvas
mBackShadowDrawableLR.draw(canvas);