Galeriden bir resim seçmek için ilgili nesnenin setOnClickListener özelliği arasına aşağıdaki gibi bize gerekli kodları yazarak Belgelerim uygulamasını başlatıyoruz. Burada activityResultLaunch.launch özelliğini kullanıyoruz.
Aşağıdaki koduda projede metod düzeyinde ekleyip try cath arasındaki kodları kendinize göre düzenleyip kullanabilirsiniz. Seçilen resmi bitmap nesnesine atadım. Bitmap nesnesi ilede profilImg isimli bir ImageView nesnesinin içini doldurdum. Sizler bunu farklı dosya türleri içinde kullanabilirsiniz. Üstteki kodda seçeceğiniz dosya türüne göre imgIntent.setType("image/*"); kısmını düzenlemeyi unutmayın.
Kod:
yeniImgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent imgIntent = new Intent();
imgIntent.setType("image/*");
imgIntent.setAction(Intent.ACTION_GET_CONTENT);
activityResultLaunch.launch(Intent.createChooser(imgIntent, "Resim Seç"));
}
});
Aşağıdaki koduda projede metod düzeyinde ekleyip try cath arasındaki kodları kendinize göre düzenleyip kullanabilirsiniz. Seçilen resmi bitmap nesnesine atadım. Bitmap nesnesi ilede profilImg isimli bir ImageView nesnesinin içini doldurdum. Sizler bunu farklı dosya türleri içinde kullanabilirsiniz. Üstteki kodda seçeceğiniz dosya türüne göre imgIntent.setType("image/*"); kısmını düzenlemeyi unutmayın.
Kod:
private Uri resimUri;
private Bitmap secilenResim;
private ActivityResultLauncher<Intent> activityResultLaunch = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
if (result.getResultCode() == AppCompatActivity.RESULT_OK) {
resimUri = result.getData().getData();
if (resimUri != null) {
try {
secilenResim = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), resimUri);
profilImg.setImageBitmap(secilenResim);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
});