我已經問過,但我的理解略有增加。我已經想出瞭如何讓用戶在佈局上選擇自定義背景圖片。我用這個:如何使背景圖像持久
在我的onCreate方法:
Button player = (Button) setBg.findViewById(R.id.plBg);
player.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
i.setDataAndType(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI, "image/*");
startActivityForResult(i, RESULT_LOAD_PLAYER);
setBg.dismiss();
}
});
,並在我的onActivityResult方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_PLAYER && resultCode == RESULT_OK && null != data) {
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();
playerBg = (ImageView) findViewById(R.id.playerBg);
playerBg.setImageBitmap(BitmapFactory.decodeFile(picturePath));
playerBg.setScaleType(ScaleType.CENTER_CROP);
}
}
但是當你回來'出來的應用程序,背景將恢復爲默認值。我如何獲得該背景選擇?
我已經看這個:Save bitmap to location
但我有一個很難理解它。
我也嘗試過將它保存在共享偏好中,但瞭解到這不是它們的用途。 我還是這個初學者。提前致謝。
上面的代碼是從什麼方法來的? –
對不起,這是在我的onActivityResult。我將編輯OP以使其更清晰 – Psest328
爲什麼不在sharedpreference中有一個標誌,表示用戶設置了任何背景?而且,如果用戶設置了任何背景,則可以將圖片路徑保存在sharedpreference中。所以,每次你的活動開始時。您從sharedpref檢查標誌,並使用保存在共享前綴中的圖片路徑設置背景。 – VendettaDroid