聊天气泡动画

时间:2018-09-26 10:30:29

标签: android animation chat

当我发送消息时,我想获得动画效果,它就像飞鸟一样从下到上(虽然我已经做到了:P),但是在飞行时,聊天气泡视图的半径也在改变(这就是我要做的事情无法实现)。

请帮助我实现这种动画或给我一些提示。

谢谢

我已使用以下代码设置半径,然后使用xml文件转换该视图,但无法随时更改半径。

GradientDrawable gd = new GradientDrawable();

            // Specify the shape of drawable
            gd.setShape(GradientDrawable.RECTANGLE);

            // Set the fill color of drawable
            gd.setColor(Color.TRANSPARENT); // make the background transparent

            // Create a 2 pixels width red colored border for drawable
            gd.setStroke(2, Color.RED); // border width and color

            // Make the border rounded
            gd.setCornerRadius(15.0f);

            ((RelativeLayout) findViewById(R.id.rlvView)).setBackground(gd);

             Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.item_animation_from_bottom);

            ((RelativeLayout) findViewById(R.id.rlvView)).startAnimation(animation);

Chat animation

1 个答案:

答案 0 :(得分:0)

您需要使用ObjectAnimator(ValueAnimator的派生类)来实现视图的任何值(可见/不可见)的动画。在15.0f到0的范围内,将cornerRadius动画以下的代码一次。请尝试,希望对您有所帮助。

     // Make the border rounded
    gd.setCornerRadius(15.0f);
    ((RelativeLayout) findViewById(R.id.rlvView)).setBackground(gd);

    ObjectAnimator animator = ObjectAnimator.ofFloat(gd, "cornerRadius", 0);
    animator.setInterpolator(new LinearInterpolator());
    animator.setDuration(800);
    animator.start();