public static String FAVORITE_DATA_FILE = "MY_IMG";
private ImageView main_layout_first;
protected static final int Menu_bg = Menu.FIRST;
public static final String IMAGE_PATH = "My_xyzd";
private static String mainBgTempImageFileName = "";
private static final int FLAG_CHOOSE_IMG = 1;
private static final int FLAG_CHOOSE_PHONE = 2;
public static final File FILE_SDCARD = Environment
.getExternalStorageDirectory();
public static final File FILE_LOCAL = new File(FILE_SDCARD, IMAGE_PATH);
public static final File FILE_PIC_SCREENSHOT = new File(FILE_LOCAL,
"images/screenshots");
Bitmap Bg_bitmap;
private String mPhotoPath = "";
oncreate(){
main_layout_first = (ImageView) findViewById(R.id.main_layout_first);
String buffer = "";
buffer = FileReadWriteUtil.ReadActivityFile(this, FAVORITE_DATA_FILE);
if (buffer.length() > 0 || buffer != null) {
Bg_bitmap = BitmapFactory.decodeFile(buffer);
if (null != Bg_bitmap && !buffer.equals("")) {
main_layout_first.setImageBitmap(Bg_bitmap);
}
}
.................
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, Menu_bg, 0, "替换屏幕背景");
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {// 点击事件监听
super.onOptionsItemSelected(item);
if (item.getItemId() == Menu_bg) {
selectAvatar();
}
return true;
}
void selectAvatar() {
// 切换头像的事件
ModifyAvatarDialog modifyAvatarDialog = new ModifyAvatarDialog(
WxxyMainActivity.this) {
// 选择本地相册
@Override
public void doGoToImg() {
this.dismiss();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, FLAG_CHOOSE_IMG);
}
// 选择相机拍照
@Override
public void doGoToPhone() {
this.dismiss();
String status = Environment.getExternalStorageState();
if (status.equals(Environment.MEDIA_MOUNTED)) {
try {
mainBgTempImageFileName = "";
mainBgTempImageFileName = String.valueOf((new Date())
.getTime()) + ".png";
File filePath = FILE_PIC_SCREENSHOT;
if (!filePath.exists()) {
filePath.mkdirs();
}
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File f = new File(filePath, mainBgTempImageFileName);
// localTempImgDir和localTempImageFileName是自己定义的名字
Uri u = Uri.fromFile(f);
intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
intent.putExtra(MediaStore.EXTRA_OUTPUT, u);
startActivityForResult(intent, FLAG_CHOOSE_PHONE);
} catch (ActivityNotFoundException e) {
}
}
}
};
AlignmentSpan span = new AlignmentSpan.Standard(
Layout.Alignment.ALIGN_CENTER);
AbsoluteSizeSpan span_size = new AbsoluteSizeSpan(25, true);
SpannableStringBuilder spannable = new SpannableStringBuilder();
String dTitle = getString(R.string.dialog_choose_pic);
spannable.append(dTitle);
spannable.setSpan(span, 0, dTitle.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span_size, 0, dTitle.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
modifyAvatarDialog.setTitle(spannable);
modifyAvatarDialog.show();
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) { // 此处的 RESULT_OK 是系统自定义得一个常量
Log.e("TAG->onresult", "ActivityResult resultCode error");
return;
}
// 外界的程序访问ContentProvider所提供数据 可以通过ContentResolver接口
ContentResolver resolver = getContentResolver();
// 此处的用于判断接收的Activity是不是你想要的那个
if (requestCode == FLAG_CHOOSE_IMG && resultCode == RESULT_OK) {
if (data != null) {
try {
Uri uri = data.getData();
if (!TextUtils.isEmpty(uri.getAuthority())) {
Cursor cursor = getContentResolver().query(uri,
new String[] { MediaStore.Images.Media.DATA },
null, null, null);
if (null == cursor) {
Common.DisplayToast(WxxyMainActivity.this, "图片没找到",
1);
return;
}
cursor.moveToFirst();
String path = cursor.getString(cursor
.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
Bg_bitmap = MediaStore.Images.Media.getBitmap(resolver,
uri);
// 显得到bitmap图片
main_layout_first.setImageBitmap(Bg_bitmap);
mPhotoPath = path;
}
FileReadWriteUtil.WriteActivityFile(this,
FAVORITE_DATA_FILE, mPhotoPath);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} else if (requestCode == FLAG_CHOOSE_PHONE && resultCode == RESULT_OK) {
File f = new File(FILE_PIC_SCREENSHOT, mainBgTempImageFileName);
Bg_bitmap = BitmapFactory.decodeFile(f.getAbsolutePath());
main_layout_first.setImageBitmap(Bg_bitmap);
mPhotoPath = f.getAbsolutePath();
FileReadWriteUtil.WriteActivityFile(this, FAVORITE_DATA_FILE,
mPhotoPath);
}
}
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
<ImageView android:id="@+id/main_layout_first"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:scaleType="fitXY"
android:orientation="vertical" android:src="@drawable/home_bg"/>