0

私はアンドロイドに不慣れで、Androidで写真を表示する方法を見つけようとしています。私は運が悪かったので一週間中検索していて、画像ギャラリーからアプリの壁紙を設定する方法についてのAndroidサンプルコードまたは例があるかどうか知りたいです

皆さん、ありがとうございました

4

3 に答える 3

0

画像ギャラリーから画像を選択するには、次の方法を使用します

   //Declare private static final int PICK_IMAGE = 1;

  try {
                Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(Intent.createChooser(intent, "Select Picture"),  PICK_IMAGE);
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show();
                Log.e(e.getClass().getName(), e.getMessage(), e);
            }

そしてアクティビティ結果書き込み時:

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    switch (requestCode) {
    case PICK_IMAGE:

        if (resultCode == Activity.RESULT_OK) {
            Uri selectedImageUri = data.getData();
            try {
                // OI FILE Manager
                String filemanagerstring = selectedImageUri.getPath();

                // MEDIA GALLERY
                String selectedImagePath = getPath(selectedImageUri);

                if (selectedImagePath != null) {
                    filePath = selectedImagePath;
                } else if (filemanagerstring != null) {
                    filePath = filemanagerstring;
                } else {
                    Toast.makeText(getApplicationContext(), "Unknown path",
                            Toast.LENGTH_LONG).show();

                }

                if (filePath != null) {         

                    decodeFile(filePath);
                } else {
                    bitmap = null;
                }
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Internal  
                     error",Toast.LENGTH_LONG).show();

            }
        }
        break;
    default:
    }



}


     //Decode file() where you will get decoded file and then you can use that image
      //file according to your requirement

   public void decodeFile(String filePath) {

    // Decode image size
    BitmapFactory.Options o = new BitmapFactory.Options();
    o.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(filePath, o);

    // The new size we want to scale to
    final int REQUIRED_SIZE = 1024;

    // Find the correct scale value. It should be the power of 2.
    int width_tmp = o.outWidth, height_tmp = o.outHeight;
    int scale = 1;
    while (true) {
        if (width_tmp < REQUIRED_SIZE && height_tmp < REQUIRED_SIZE)
            break;
        width_tmp /= 2;
        height_tmp /= 2;
        scale *= 2;  
    }

    // Decode with inSampleSize
    BitmapFactory.Options o2 = new BitmapFactory.Options();
    o2.inSampleSize = scale;
    bitmap = BitmapFactory.decodeFile(filePath, o2);

    image.setImageBitmap(bitmap);// set ImageView in your case set Layout  
              //background

}
于 2012-06-18T11:25:02.093 に答える
0

ボストンの新しい Web サイトで Android 開発チュートリアルを検索してみてください。tut 41 と 42 は、ギャラリーまたはカメラから画像を取得し、壁紙として設定する方法を教えていると思います。このリンクhttp://thenewboston.org/list.php?cat=6を試してください。ハッピーコーディング:)

于 2012-06-18T11:31:52.880 に答える
-1

コードをチェックしてください。

Bitmap mBitmap = BitmapFactory.decodeResource("imageID");

                WallpaperManager myWallpaperManager = WallpaperManager
                        .getInstance(getApplicationContext());

                try {
                    myWallpaperManager.setBitmap(mBitmap); // here your image bitmap.
                    Toast.makeText(SetWallPaper.this, "Wallpaper set",
                            Toast.LENGTH_SHORT).show();
                } catch (IOException e) {
                    Toast.makeText(SetWallPaper.this,
                            "Error setting wallpaper", Toast.LENGTH_SHORT)
                            .show();
                }

お役に立てると思います。

于 2012-06-18T11:23:07.093 に答える