首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ViewPager 中 Drawable 圖片保存到相冊/本地

     編輯:程式設計綜合問答

ViewPager 顯示 `res/drawable` 圖片,點擊當前頁保存到相冊或 SD 卡。

實作步驟

  1. ViewPager 的 `PagerAdapter` 中 `instantiateItem` 返回的 `ImageView` 設定 `setOnClickListener` 或 `setOnLongClickListener`。
  2. 點擊事件內取得 `ImageView` 的 `Drawable`:
    Drawable drawable = imageView.getDrawable();
    Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
    
  3. 保存到公共圖片目錄(需 `WRITE_EXTERNAL_STORAGE` 權限,Android 10+ 用 `MediaStore`):
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.DISPLAY_NAME, "img_" + System.currentTimeMillis() + ".jpg");
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
    values.put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_PICTURES);
    Uri uri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
    try (OutputStream os = context.getContentResolver().openOutputStream(uri)) {
        bitmap.compress(Bitmap.CompressFormat.JPEG, 90, os);
    }
    

參考:ImageView 保存到本地完整代碼

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved