【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); }}
推荐阅读
- Android Studio第十四期 - Swipebacklayout最新版
- Android 设置alpha值来制作透明与渐变效果的实例
- AndroidStudio 混淆打包
- android经典实战项目视频教程下载
- Android NDK构建资料
- Android应用开发中出现appcompat-v7错误
- Android手机开发者模式设置
- Android 手机卫士--自定义组合控件构件布局结构
- 从源码角度分析android蓝牙设备如何互联()