0

カメラを使用して画像を撮影し、その画像をアプリケーションのバックグラウンドで使用できるかどうか疑問に思っていました。アプリで画像を取得してプレビューすることはできますが、そのデータを背景画像として設定するクラスに渡す方法がわかりません。この写真を取得してアプリの背景として設定する動的な方法はありますか?

4

1 に答える 1

1

カメラ インテントを開始するには:

... 
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
activity.startActivityForResult(takePictureIntent, PHOTO_ACTIVITY_REQUEST_CODE);
...

PHOTO_ACTIVITY_REQUEST_CODE は、アクティビティ内で一意の整数定数であり、結果のインテントを開始する際にリクエスト コードとして使用されます。

onActivityResult で写真を受け取り、ビューの背景を更新するには

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == PHOTO_ACTIVITY_REQUEST_CODE && data != null) {
        Bundle extras = data.getExtras();
        if (extras != null) {
            Bitmap photo = (Bitmap) extras.get("data");
            if (photo != null) {
                // mView should refer to view whose reference is obtained in onCreate() using findViewById(), and whose background you want to update
                mView.setBackground(new BitmapDrawable(getResources(), photo));
            }
        }
    }
}

上記のコードはフルサイズの写真を使用していません。そのためには、Photo Intent にファイルに保存するように依頼し、ファイルを読み取る必要があります。詳細はこちら

于 2013-07-08T16:59:42.243 に答える