QQ小红点

在参考了一些其他文章介绍如何实现QQ小红点气泡的实现后,我觉得都有一些不足的地方,比如不能像使用一般控件那样来使用,或者不够实现比较复杂等,基于这些不足我觉得重新设计一个相对完美的轮子很有必要。


使用方法:

1.添加依赖
compile 'com.tiandawu.library:dragbubbleview:1.0.0'
2.添加DragBubbleView

在需要使用的地方可以像使用一般自定义控件一样引入:

    <com.tiandawu.library.DragBubbleView
        android:id="@+id/mDragView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textColor="@android:color/white" />
3.回调需要的方法:

控件支持回调如下三个方法:

    /**
     * 气泡消失
     */
    void onBubbleViewDismiss();

    /**
     * 气泡拖拽中
     *
     * @param dragPoint 拖拽点
     */
    void onBubbleViewDragging(PointF dragPoint);

    /**
     * 气泡还原
     */
    void onBubbleViewReset();

为了方便支持了两种回调方式,第一种针对需要实现所有回调方法;第二种则可以实现自己需要回调的方法。

  • 3.1 回调的第一种方式:
    mDragView.setOnDragListener(new DragBubbleViewListener() {
            @Override
            public void onBubbleViewDismiss() {

            }

            @Override
            public void onBubbleViewDragging(PointF dragPoint) {

            }

            @Override
            public void onBubbleViewReset() {

            }
        });
  • 3.2 回调方的第二种方式:
    mDragView.setOnDragListenerAdapter(new DragBubbleViewAdapter() {
            @Override
            public void onBubbleViewDismiss() {
                Toast.makeText(mContext, mDataList.get(position) + "气泡消失", Toast.LENGTH_SHORT).show();
            }
        });
4.效果图:

效果图


代码的具体实现可以去GitHub下载查看源代码 源码地址

参考:仿QQ 拖动小红点原理及其实现

转载于:https://my.oschina.net/devbird/blog/1507517

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值