2016-09-13 11 views
3

私はプロセスの終了を待つためにカメラに動線を描きたいと思います。現時点では私は、コードのこの部分を持っている:アンドロイドカメラで動く線を描くには?

public class OcrGraphic extends GraphicOverlay.Graphic { 

    OcrGraphic(GraphicOverlay overlayt) { 
     super(overlay); 
     postInvalidate(); 
    } 

    @Override 
    public void draw(Canvas canvas) { 
     //draw line 
    } 
} 

問題は、私は一度だけ線を描画したくないということですが、私は(ラインを移動させるためで糸のようなものを作成したいですおよびdown)を表示します。ここで

は、私が持っている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のビジョンAPIから来ています。

答えて

1

アニメーションフレームワークがここにあります。

レイアウト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

+0

答えをありがとうが、それは動作しません。 xmlでビューを追加すると、1dpで高さを設定しても、すべての画面が表示されます。私は自分のxmlファイルを表示するためにプレビュー投稿を更新します。 –

+0

この行をFrameLayoutにラップする必要があるかもしれません。私はCameraSourcePreviewを一度も使用していませんが、ViewGroupを拡張することができますが、レイアウトとしてどのように動作するのかわかりません。 – JDenais

+0

動作しません。最後に、SurfaceViewを使用してカメラをオーバーレイします。 –