我想在相机上画一条移动线,用于等待进程的结束。目前,我有这段代码:
public class OcrGraphic extends GraphicOverlay.Graphic {
OcrGraphic(GraphicOverlay overlayt) {
super(overlay);
postInvalidate();
}
@Override
public void draw(Canvas canvas) {
//draw line
}
}问题是我不想只画一次线,而是想创建一些类似线程的东西,以便在长过程中移动线(向上和向下)。
下面是我拥有的XML:
<com.google.android.gms.samples.vision.ocrreader.ui.camera.CameraSourcePreview
android:id="@+id/preview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.samples.vision.ocrreader.ui.camera.GraphicOverlay
android:id="@+id/graphicOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<View
android:layout_width="5dp"
android:layout_height="1dp"
android:background="#FF0000"
android:id="@+id/line"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="65dp"
android:minHeight="5dp" />
</com.google.android.gms.samples.vision.ocrreader.ui.camera.CameraSourcePreview>'camereSourcePreview‘标签来自google vision API。
发布于 2016-09-13 17:31:17
动画框架已经为您准备好了。
在布局xml文件中创建一行。像这样的东西
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#cccccc"
android:id="@+id/line"/>然后在动画资源文件夹中创建动画资源。
<set android:repeatMode="reverse"
xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%"
android:toYDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="300"
/>
在您的代码中,获取视图动画,并使用AnimationUtils设置动画
View line= (View) findViewById(R.id.line);
Animation upDown= AnimationUtils.loadAnimation(this, R.anim.up_down_anim);
line.startAnimation(upDown);然后完成你可以调用的动画(这里不确定)
line.getAnimation().cancel();https://developer.android.com/guide/topics/resources/animation-resource.html
https://stackoverflow.com/questions/39466171
复制相似问题