ここで私がやろうとしていることがあります。 私は自分のギャラリーから、アプリケーションのすべてのアクティビティの背景として設定するように画像を選択したかったのです。ギャラリーからすべての活動の背景に背景を設定します
私は何をしたのですか 1.壁紙のユーザーを選択したいすべてのアクティビティに共有優先とその他の2つの属性があります。ここでは、ユーザがImageViewの上でクリックしたときに、それがギャラリー画像セレクタを起動する設定活性の
private static final String PREF_NAME = "nextage_quiz";
private static final int PRIVATE_MODE = 0;
SharedPreferences getPrefs;
2.アクションテイク場所です。 ImageViewのコードは、Gallery Image Selectorを起動するメソッドです。
1.Inside ImageViewのClickListener
private static int Load_Image_From_Gallery = 1;
Intent i = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, Load_Image_From_Gallery);
2. onActivityResultコード
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == Load_Image_From_Gallery && 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();
ImageViewBackground5.setImageBitmap(BitmapFactory.decodeFile(picturePath));
}
}
私はImageViewの背景として、ギャラリーから選択した画像を設定するために管理する見ることができるように。しかし私は、ユーザが他のすべてのアクティビティのバックグラウンドと同じイメージを選択したかった。私はあなたの背景としてそれを使用するために私のアプリでイメージのいくつかの選択肢があります。ここで私はそれをやった。
- SettingsActivityで
(のonCreate)
getPrefs = this.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
ユーザが選択した画像のいずれかをクリックしたときに、その画像は、すべての活動のための壁紙として選択されます。
2.Inside壁紙を変更するすべての活動に配置されている特定のImageViewの
getPrefs.edit().putInt("id", R.drawable.wallpaper2).apply();
3.コード。
ここでも、すべてのアクティビティの背景として選択されたイメージユーザーを使用することができます。私はBitMapからDrawableに変換しようとしましたが、まだ失敗します。 ヘルプが役立ちます。 p.sほとんどのコードは複数のウェブサイトからのものです。前もって感謝します。
言葉の下を参照してください。 @Sohail Zahid氏に感謝します。 – narispillai