Android 仿微信朋友圈点击图片变暗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); } }
以上是关于Android 仿微信朋友圈点击图片变暗的主要内容,如果未能解决你的问题,请参考以下文章
Android 实现仿微信朋友圈九宫格图片+NineGridView+ImageWatcher(图片查看:1.预览,2.拖动,3.放大,4.左右滑动,5.长按保存到手机)的功能