美文网首页
QQ控件点赞效果

QQ控件点赞效果

作者: 红茶炒饭 | 来源:发表于2019-01-27 16:24 被阅读0次
QQ空间点赞效果
逻辑非常简单
public class GoodButton extends LinearLayout {

    private View view = null;
    private Activity mContext;
    private RelativeLayout mRelativeLayout;
    private int[] imgs = {
            R.mipmap.good_true,
            R.mipmap.hart_true,
            R.mipmap.star_true
    };
    private RadioButton mRadioButton;


    public RadioButton getmRadioButton() {
        return mRadioButton;
    }


    public GoodButton(Context context) {
        this(context, null);
    }

    public GoodButton(Context context, AttributeSet attrs) {
        this(context, attrs, -1);
    }

    public GoodButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);

        mContext = (Activity) context;

        View view = View.inflate(context, R.layout.customgoodbutton, this);

        mRadioButton = view.findViewById(R.id.customgoodbuttonbtn);
        mRelativeLayout = view.findViewById(R.id.customgoodbuttonbtnRelativeLayout);


        mRadioButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                doAnima();
            }
        });


        


    }


    private void doAnima() {


        final Window window= mContext.getWindow();

        Random random = new Random();
        int i = random.nextInt(3);
        Random random3 = new Random();
        int i3 = random3.nextInt(100);
        int i3a = i % 2 == 0 ? i3 : -(i3);


        view = new ImageView(mContext);


        ((ImageView) view).setImageResource(imgs[i]);

        WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
        layoutParams.width =this.getWidth();
        layoutParams.height=this.getHeight();
        window.addContentView(view, layoutParams);

        ObjectAnimator animator1 = ObjectAnimator.ofFloat(view, "translationY", this.getY()+this.getHeight(), -1000, -1000);
        ObjectAnimator animator3 = ObjectAnimator.ofFloat(view, "translationX", this.getX()+this.getWidth(), this.getX()+this.getWidth()+i3a, this.getX()+this.getWidth()+i3a+i3a);

        animator3.setDuration(400);
        animator1.setDuration(2000);

        AnimatorSet set = new AnimatorSet();
        set.play(animator3).with(animator1);
        set.start();


        set.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {

            }

            @Override
            public void onAnimationEnd(Animator animation) {
                view = null;
            }

            @Override
            public void onAnimationCancel(Animator animation) {

            }

            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        });



    }


    @Override
    protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        mRelativeLayout = null;
    }

}

相关文章

  • QQ控件点赞效果

    逻辑非常简单

  • 贝塞尔曲线-上堂真正的数学课

    1.普及数学基础知识(三角函数)消息拖拽QQ(可玩性高)贝塞尔曲线(轮播指示器,下拉刷新控件,花束直播的点赞效果等...

  • QQ点赞

    这条空间动态只有二十个赞 她说这人人缘可能不太好 她的每条动态都有几百个点赞和很多评论 多到让人羡慕 叮 手机响了...

  • Android自定义控件:打造自己的QQ空间主页

    前面已经实现过仿QQ的List抽屉效果以及仿QQ未读消息拖拽效果,具体请见:Android自定义控件:类QQ抽屉效...

  • IHFSideBar - 侧边栏

    IHFSideBar 是一个弹出侧边栏(类似抽屉效果)的控件。类似qq侧边栏效果已经很漂亮了,那这个控件为什么诞生...

  • 自定义控件 -- 点赞动画效果

    《最美有物》中的点赞效果大家可以看下,在简书上也看到过安卓版本的。分析它的动画效果,最近,利用自己闲暇时间用OC做...

  • iOS-高仿QQ空间视频列表关闭效果

    iOS高仿QQ空间视频列表关闭效果,只要你稍微懂点控件的运用,保证你能看懂!(Demo在底部) 效果图 在编写这个...

  • Android自定义控件:类QQ6.7.1侧滑菜单栏效果

    前面一段时间呢,仿照最新版的QQ分别实现了几个自定义控件Android自定义控件:类QQ抽屉效果Android自定...

  • Android点赞控件--仿掘金点赞七成效果

    0. 前些日子偶然看到掘金推荐里的点赞效果,感觉有些酷炫,然后在一个无所事事的早上,我决定实现一个类似的功能,但是...

  • ios 点赞动画

    模仿的qq空间的点赞。qq的是从未点赞状态到点赞是有动画。从点赞状态到未点赞是没有动画。 写的butten的分类。...

网友评论

      本文标题:QQ控件点赞效果

      本文链接:https://www.haomeiwen.com/subject/jqxnjqtx.html