删减android qq代码,Android仿QQ未读消息--红点拖拽删除【源代码】

本Demo是一款仿qq未读消息拖拽删除的例子,继承RelativeLayout的WaterDrop实现了圆形图标功能、继承ImageView的CircleImageView圆形图片功能、效果非常不错、很适合有圆形设计的哥们、效果图片如下

fc95fba898966363f18aef9d93d1ea2b.png

CircleImageView核心代码

private void updateShaderMatrix() {

float scale;

float dx = 0;

float dy = 0;

mShaderMatrix.set(null);

if (mBitmapWidth * mDrawableRect.height() > mDrawableRect.width()

* mBitmapHeight) {

scale = mDrawableRect.height() / (float) mBitmapHeight;

dx = (mDrawableRect.width() - mBitmapWidth * scale) * 0.5f;

} else {

scale = mDrawableRect.width() / (float) mBitmapWidth;

dy = (mDrawableRect.height() - mBitmapHeight * scale) * 0.5f;

}

mShaderMatrix.setScale(scale, scale);

mShaderMatrix.postTranslate((int) (dx 0.5f) mBorderWidth,

(int) (dy 0.5f) mBorderWidth);

mBitmapShader.setLocalMatrix(mShaderMatrix);

}

WaterDrop核心代码

public boolean onTouchEvent(MotionEvent event) {

ViewGroup parent = getScrollableParent();

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

mHolderEventFlag = !CoverManager.getInstance().isRunning();

if (mHolderEventFlag) {

parent.requestDisallowInterceptTouchEvent(true);

CoverManager.getInstance().start(this, event.getRawX(),

event.getRawY(), mOnDragCompeteListener);

}

break;

case MotionEvent.ACTION_MOVE:

if (mHolderEventFlag) {

CoverManager.getInstance().update(event.getRawX(),

event.getRawY());

}

break;

case MotionEvent.ACTION_UP:

case MotionEvent.ACTION_CANCEL:

if (mHolderEventFlag) {

parent.requestDisallowInterceptTouchEvent(false);

CoverManager.getInstance().finish(this, event.getRawX(),

event.getRawY());

}

break;

}

return true;

}

最后给贴上Demo的源代码,有兴趣的朋友可以下载看看

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值