当我发送消息时,我想获得动画效果,它就像飞鸟一样从下到上(虽然我已经做到了: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);
答案 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();