91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

android pictureselector能自定義篩選條件嗎

小樊
81
2024-11-20 16:37:59
欄目: 編程語言

是的,Android的圖片選擇器(Image Picker)可以自定義篩選條件。你可以通過以下方法實現自定義篩選條件:

  1. 使用Intent創建圖片選擇器:
private static final int REQUEST_CODE_PICK_IMAGE = 1;

private void pickImage() {
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    intent.setType("image/*");
    startActivityForResult(Intent.createChooser(intent, "選擇圖片"), REQUEST_CODE_PICK_IMAGE);
}
  1. 在onActivityResult方法中處理返回的圖片:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_PICK_IMAGE && resultCode == RESULT_OK && data != null && data.getData() != null) {
        Uri selectedImageUri = data.getData();
        // 在這里處理選中的圖片,例如顯示在ImageView中
    }
}
  1. 自定義篩選條件:

要自定義篩選條件,你可以在創建Intent時設置額外的參數,然后在onActivityResult方法中解析這些參數。例如,你可以設置一個最大圖片尺寸:

private static final int REQUEST_CODE_PICK_IMAGE = 1;
private static final String EXTRA_MAX_SIZE = "com.example.imagepicker.max_size";

private void pickImage() {
    int maxSize = 1024 * 1024; // 1MB
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    intent.setType("image/*");
    intent.putExtra(EXTRA_MAX_SIZE, maxSize);
    startActivityForResult(Intent.createChooser(intent, "選擇圖片"), REQUEST_CODE_PICK_IMAGE);
}

在onActivityResult方法中解析最大尺寸參數:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_PICK_IMAGE && resultCode == RESULT_OK && data != null && data.getData() != null) {
        Uri selectedImageUri = data.getData();
        int maxSize = data.getIntExtra(EXTRA_MAX_SIZE, 0);
        if (maxSize > 0) {
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImageUri);
                if (bitmap != null && bitmap.getByteCount() > maxSize) {
                    // 如果圖片大小超過最大尺寸,提示用戶并重新選擇
                    Toast.makeText(this, "圖片大小超過最大限制,請重新選擇", Toast.LENGTH_SHORT).show();
                    pickImage();
                } else {
                    // 在這里處理選中的圖片,例如顯示在ImageView中
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            // 在這里處理選中的圖片,例如顯示在ImageView中
        }
    }
}

通過這種方式,你可以根據需要自定義圖片選擇器的篩選條件。

0
望谟县| 莱阳市| 贵阳市| 武强县| 绥芬河市| 柘荣县| 含山县| 集贤县| 琼中| 万宁市| 临猗县| 汶川县| 宜城市| 文安县| 中牟县| 庆城县| 亳州市| 陆河县| 融水| 锡林浩特市| 洛扎县| 新源县| 吴桥县| 鄂托克前旗| 河池市| 岚皋县| 观塘区| 临泽县| 毕节市| 吉安市| 刚察县| 防城港市| 宜春市| 外汇| 滦南县| 封开县| 竹北市| 临沭县| 民和| 克拉玛依市| 名山县|