我有一个 8 mp 的图像,但它无法在 ImageView 上显示,因为它的文件太大。如何使用 BitmapFactory 重新调整它的大小,然后将此新图像作为 XML 中 ImageView 的源传递?
我的 XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select" />
<Button
android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Info" />
</LinearLayout>
<ImageView
android:id="@+id/test_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
我的活动:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageView view;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize=8; //also tried 32, 64, 16
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher, options);
Drawable d = new BitmapDrawable(bmp);
view = (ImageView) findViewById(R.id.test_image_view);
view.setImageDrawable(d);
setContentView(R.layout.main);
}