我有画视图。它是用户可以签名的地方。当用户点击按钮我想要制作某种扫描效果时 - 绘制视图背景将从左侧变为右侧("进度"扫描)。现在我创建了一个动画,但它一次改变了整个背景。我需要使它成为线性的 - 从左到右。知道如何实现这种效果吗? :)
我的观点:
<com.rm.freedrawview.FreeDrawView
android:id="@+id/draw_layout"
android:layout_width="400dp"
android:layout_height="200dp"
android:background="@drawable/border_background"
app:paintAlpha="255"
app:paintColor="@color/black"
app:paintWidth="2dp"
app:resizeBehaviour="crop"
android:layout_centerHorizontal="true"
android:layout_marginTop="400dp"/>
这是我的动画:
@OnClick(R.id.next_button)
public void openActivity(){
int colorFrom = getResources().getColor(R.color.red);
int colorTo = getResources().getColor(R.color.black);
ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo);
colorAnimation.setDuration(1000);
colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
mDraw.setBackgroundColor((int) animator.getAnimatedValue());
}
});
colorAnimation.start();
}
答案 0 :(得分:1)
您可以查看此官方链接并为您查看动画 https://developer.android.com/guide/topics/graphics/prop-animation.html
以下是在x轴100点移动textview的示例代码。 您可以像这样设置自己的视图。
ObjectAnimator animation = ObjectAnimator.ofFloat(textView, "translationX", 100f);
animation.setDuration(1000);
animation.start();
或者你可以查看这篇文章 Change multiple properties with single ObjectAnimator?
以下是完整的教程,了解如何执行此操作。 http://androideverywhere.in/translate-scale-rotate-alpha-animations/