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

所属分类: 软件编程 / Android 阅读数: 40
收藏 0 赞 0 分享

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

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的源代码,有兴趣的朋友可以下载看看

http://pan.baidu.com/s/1kU8OGL5

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

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多