0

私が欲しいもの:

ユーザーが認識できるように、正方形 (実際には少し複雑な形状ですが、簡単にするために正方形と言っています) をカメラ プレビューにオーバーレイするCameraアクティビティ (つまり、カメラ プレビューを表示するアクティビティ)を作成したいと考えています。特定の正方形の実際のオブジェクトが、カメラのプレビューにオーバーレイされたその正方形の内側に配置されるように、カメラを配置する場所。

次の画像のカメラ プレビューに顔の形があるように、ユーザーは自分の顔をそこに置くことができます。

ここに画像の説明を入力

私の解決策:

私は を持っていてFrameLayout、次にSurfaceViewカメラのプレビュー用にを持ちVectorDrawable、シェイプをオーバーレイするために を考えました。FrameLayoutこれは、Z オーダーの子VectorDrawableが にオーバーレイされるようにするためSurfaceViewです。

それに関する問題:

アプリが API 11 以降と互換性がある必要があります。だから私は使用する必要がありますVectorDrawableCompat。を使用するVectorDrawableCompatには、AAPT フラグを設定する必要があります。- ソース

問題は、Web 上のどこでも、このフラグを設定する方法が Android Studio であるということです。(ここで説明した方法と同様) プロジェクトの build.gradle ファイルに数行追加します。

Eclipse でこのフラグを設定する方法がわかりませんでした。検索を続けた結果、Eclipse で Gradle を使用するために Eclipse Buildship プラグインをインストールすることになりました。このガイドに従いました。Android プロジェクトに Gradle ネイチャーを追加したときに、build.gradleファイルを取得しました。コードを貼り付けて AAPT フラグを有効にしましたが、問題はまったく解決しませんでした。

だから今、私は自分の仕事を達成するための代替方法を探しています. 使用せずにどうすればよいVectorDrawableCompatか教えてください。

4

1 に答える 1

1

VectorDrawable が png ファイルよりも優れていることに同意します。しかし、dpサイズのImageViewは自動的に画像をスケーリングするため、pngは受け入れられると思います。

これは例です:

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <SurfaceView
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    <ImageView
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:scaleType="fitXY"
            android:src="@drawable/face_shape"/>

</FrameLayout>
于 2016-07-20T14:39:08.783 に答える