私のアンドロイドアプリケーションでは、デバイスギャラリーからイメージを取得して、新しいアクティビティの背景として設定しています。ギャラリーから画像を取得ImageViewをアンドロイドの背景として設定しているときの問題
コード:
btn_select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == requestCode && 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);
Intent i=new Intent(getApplicationContext(),DisplayActivity.class);
Bundle bundle=new Bundle();
bundle.putString("path",picturePath);
i.putExtras(bundle);
startActivity(i);
cursor.close();
}
}
はその後、新たな活動の背景として設定:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/dis_img"
android:adjustViewBounds="true"
/>
</FrameLayout>
dis_img= (ImageView) findViewById(R.id.dis_img);
dis_img.setImageURI(Uri.parse(path_image);
しかし、アプリケーションの実行中ImageViewのは、活動の真ん中に示していません背景画像として表示される。
私はこの画像を行動の背景として使用することはできますか?
実際のレイアウトを確認できるようにスクリーンショットを添付してください。また、代わりに実際のFrameLayoutの背景を設定してみましたか?また、パフォーマンス上の考慮からGlideやメモリの問題を扱う画像読み込みライブラリを使用する方が良いかもしれません。 JPEGは無責任に使用されると多くのメモリを占有します。 –