Android 仿微信朋友圈点击图片变暗

【Android 仿微信朋友圈点击图片变暗】出门莫恨无人随,书中车马多如簇。这篇文章主要讲述Android 仿微信朋友圈点击图片变暗相关的知识,希望能为你提供帮助。

package cn.eoe.leigo.view; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.StateListDrawable; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; public class MaskImageView extends ImageView {public MaskImageView(Context context) { super(context); }public MaskImageView(Context context, AttributeSet attrs) { super(context, attrs); }public MaskImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); }@Override public void setImageBitmap(Bitmap bm) { Drawable d = createStateDrawable(getContext(), new BitmapDrawable(getContext().getResources(), bm)); setImageDrawable(d); }public StateListDrawable createStateDrawable(Context context, Drawable normal) { StateListDrawable drawable = new StateListDrawable(); drawable.addState(View.PRESSED_ENABLED_STATE_SET, createPressDrawable(normal)); drawable.addState(View.ENABLED_STATE_SET, normal); drawable.addState(View.EMPTY_STATE_SET, normal); return drawable; }public Drawable createPressDrawable(Drawable d) { Bitmap bitmap = ((BitmapDrawable) d).getBitmap().copy(Bitmap.Config.ARGB_8888, true); Paint paint = new Paint(); paint.setColor(0x60000000); RectF rect = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()); new Canvas(bitmap).drawRoundRect(rect, 4, 4, paint); return new BitmapDrawable(getContext().getResources(), bitmap); }}

 

    推荐阅读