在imageview和webview中加载时,相同的图像看起来不同

时间:2015-09-20 19:44:15

标签: android webview imageview png

在我的应用程序中,我在屏幕“A”上有一个imageview,在屏幕“B”上有一个webview。

在屏幕“A”上我启动同步任务,以便下载png文件并将其显示到imageview中。

在屏幕“B”上,我加载了一些HTML信息。其中包括指向屏幕“A”上相同png的链接。

问题是两个屏幕上的相同图像看起来不同。在imageview中加载时,png看起来比在webview中加载时更小。

imageview的高度和宽度设置为wrap_content。没有额外的缩放或类似的东西。

为什么会这样?

--- --- EDIT

屏幕“A”布局

    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background_repeat">



    <ImageView
            android:id="@+id/logo_image_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:layout_gravity="center_horizontal"/>

</RelativeLayout>

屏幕“B”布局

    <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">


                <WebView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:id="@+id/about_us_web_view"
                    />
 </RelativeLayout>

屏幕“A”asyncTask

private class DownloadLogoTask extends AsyncTask<ImageView, String, Bitmap> {

    private String urlString;

    public DownloadLogoTask(String urlString) {
        this.urlString = urlString;
    }

    @Override
    protected Bitmap doInBackground(ImageView... imageViews) {

        try {
            URL url = new URL(urlString);
            HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
            InputStream is = urlConnection.getInputStream();
            Bitmap bitmap = BitmapFactory.decodeStream(is);

            if(bitmap != null) {
                return bitmap;
            }

        } catch (Exception e) {

        }
        return null;
    }

    @Override
    protected void onPostExecute(Bitmap result) {
        if(result != null) {
            logoImageView.setImageBitmap(result);
        }
    }
}

屏幕“B”使用webView

aboutUsWebView.loadData(descriptionStr, "text/html", "UTF-8");

0 个答案:

没有答案