Чат пузырьковая анимация - PullRequest
       6

Чат пузырьковая анимация

0 голосов
/ 26 сентября 2018

Я хочу добиться анимации, когда я отправляю свое сообщение, оно идет снизу вверх, как летящая птица (хотя я это сделал: 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 голосов
/ 26 сентября 2018

Вам необходимо использовать ObjectAnimator (производный класс ValueAnimator) для достижения анимации любого значения (видимого / невидимого) представления.Код ниже анимации cornerRadius на один раз с 15.0f до 0. Пожалуйста, попробуйте, я надеюсь, это поможет.

     // 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...