사용자 갤러리에서 선택한 이미지를 가져 와서 앱 내 배경으로 표시 할 수있는 앱이 있습니다. 나는 아래 코드를 성공과 함께 사용했다.setBackground from Bitmap API 22+
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
BitmapDrawable drawable = new BitmapDrawable(getResources(), BitmapFactory.decodeFile(picturePath));
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
llmain.setBackgroundDrawable(drawable);
} else if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1) {
llmain.setBackground(drawable);
}
내 앱이 API 22로 업데이트 되었기 때문에 작동이 중지되었습니다. 나는
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
llmain.setBackgroundDrawable(drawable);
} else if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1) {
llmain.setBackground(drawable);
} else {
llmain.setBackground(ContextCompat.getDrawable(this, drawable));
}
와 배경을 설정하지만 ContextCompat.getDrawable() 호출 컨텍스트와의 int가 아닌 컨텍스트와 BitmapDrawable에 대한 때문에 작동하지 않는 방법을 발견했다.
이 때문에있는 LinearLayout과 이미지 뷰 – RhysBailey21
내 업데이트 ANS를 확인 @RhysBailey하지 ... – Joy
더이 여전히 작동하지 않습니다되는 비트 맵의 대상에 작동하지 않습니다. 그냥 빈 흰색 배경을 제공합니다. 이미지의 검색 또는 배경 부분의 설정과 관련이 있는지는 확실하지 않습니다. – RhysBailey21