ImageView显示PNG但不显示JPEG

时间:2016-07-11 13:30:42

标签: android imageview jpeg

强烈的文字我试图从图库加载图片并在图片视图中显示,PNG图片显示正常但JPG图片根本没有显示,我不知道为什么

这是代码:

public void openGa(View view){
        //create a ga||ery intent and set the action to pick an object
      Intent galleryIntent = new Intent(Intent.ACTION_PICK);
        //set the destination of the intent when it opens to pictures
        File destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
        //get the path as a string to cast to URI
        String path = destination.getAbsolutePath();
        //cast the path to uri
        Uri pathUri = Uri.parse(path);
        //set hte information of the intetn destination and types to |ook for
        galleryIntent.setDataAndType(pathUri, "image/*");
        //start activity for resu|t
        startActivityForResult(galleryIntent, REQUEST_PHOTO_GALLERY);
    }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == REQUEST_PHOTO_GALLERY && resultCode == RESULT_OK){
            //get the image as uri
            Uri imageUri = data.getData();
            try {
                //creat and input stream and send tp it the uri to be ab|e to access the image
                InputStream inputStream = getContentResolver().openInputStream(imageUri);
                //decode the image in the input stream into a bitmap
                Bitmap chosenImage = BitmapFactory.decodeStream(inputStream);

                ImageView i = (ImageView)findViewById(R.id.imageView);
                i.setImageBitmap(chosenImage);

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    }

这是我的xml

 TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">


<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

           <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/dispImage"
        android:src="@drawable/phone"
        android:onClick="openGa"
        android:layout_weight="1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView" />
</TableRow>
</TableLayout>

1 个答案:

答案 0 :(得分:1)

jpg太大而无法在ImageView中显示。由于内存不足,BitmapFactory无法为它们创建位图。亲眼看看chosenImage变为空。

加载时重新缩放位图。

尝试使用小.jpg来查看尺寸是否重要。