Как я могу загрузить URL-адрес изображения, чтобы он соответствовал моему веб-просмотру в Android?

Я разрабатываю приложение для Android. Здесь я показываю изображение URL-адреса в веб-просмотре. Но изображение не подходит для моего веб-просмотра. кому-то предлагается использовать концепцию видового экрана. Но я не могу использовать это идеально. Я прикрепил свой вопрос в виде рисунка с объяснением. я использовал

mWebView.getSettings().setUseWideViewPort (true);

но не получить хороший результат. Мне нужно показать установленное изображение на всех устройствах с разрешением, включая 7-дюймовые, 10-дюймовые планшеты. Поэтому, пожалуйста, посмотрите на прикрепленное изображение и предложите мне правильный способ разместить изображение URL в моем месте веб-просмотра. Я хотел бы показать свое изображение так же, как на 3-й диаграмме.

Вот мой код для загрузки изображения:

webView = (WebView) findViewById(R.id.webimage);
        WebSettings webSettings = imageView.getSettings(); 
        webSettings.setLoadsImagesAutomatically(true);
        webSettings.setSupportZoom(true) ;
        webSettings.setBuiltInZoomControls(true);
        webView.setBackgroundColor(Color.TRANSPARENT);
        webView.getSettings().setUseWideViewPort (true);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.setWebViewClient(new WebViewClient()
        {
        //some dialog implementation
        }
        webView.loadUrl(myurl);

введите здесь описание изображения


person Raghu Mudem    schedule 22.11.2012    source источник
comment
Является ли изображение URL-адреса исходящим от html-страницы? Будете ли вы иметь руки на HTML-код?   -  person kittu88    schedule 22.11.2012
comment
можете ли вы выложить код, который вы использовали до сих пор   -  person Terril Thomas    schedule 22.11.2012
comment
Спасибо за быстрый ответ. я отредактировал свой вопрос, добавив свой код, который я использую для загрузки изображения в веб-просмотре   -  person Raghu Mudem    schedule 22.11.2012


Ответы (3)


вы можете установить для атрибута width img значение 100% и не устанавливать атрибут высоты

<body >
<img id="resizeImage" src="you_image.png" width="100%" alt="" />
</body>

Отредактировано: На самом деле у меня тоже такая же проблема. Тем не менее, я все еще жду правильного ответа.

вы можете обратиться к моему вопросу ЗДЕСЬ

хотя я кое-как справился с этой проблемой с помощью трюка managing height and Width устройства. и при использовании wv.setInitialScale(185); по умолчанию масштабирование будет в верхнем левом углу.

я поставил свой код ниже.

WindowManager mWinMgr;
    public static int displayWidth = 0, displayHeight = 0;

    @Override
    protected void onCreate(Bundle icicle) {
        // TODO Auto-generated method stub
        super.onCreate(icicle);
        // this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
        // this.setProgressBarVisibility(true);
        mWinMgr = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
        displayWidth = mWinMgr.getDefaultDisplay().getWidth();
        displayHeight = mWinMgr.getDefaultDisplay().getHeight();

        setContentView(R.layout.view_my_poops);

        try {
            Map_Type = getIntent().getExtras().getString("MAP_TYPE");
        } catch (Exception e) {

        }
        Log.i(TAG, "MAP TYPE" + Map_Type);

    }

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();

        WebView wv;

        wv = (WebView) findViewById(R.id.webview_MyPoops);
        wv.getSettings().setJavaScriptEnabled(true);
        // this.setProgressBarVisibility(true);
        if (displayWidth >= 552 && displayHeight >= 976 || displayWidth >= 976
                && displayHeight >= 552) {
            wv.setInitialScale(185);
        } else {
            // wv.setInitialScale(150);
        }
        // wv.setInitialScale(30);


        URL = "YOUR_URL";


        Log.i(TAG, "Loading URL" + URL);

        final Activity activity = ViewMyPoop.this;

        wv.setWebChromeClient(new WebChromeClient() {

            public void onProgressChanged(WebView view, int progress) {
                // TODO Auto-generated method stub
                // Log.i(TAG, "Inside OnProgress Changed" + URL);
                activity.setTitle("Loading...");
                activity.setProgress(progress * 100);
                if (progress == 100)
                    activity.setTitle("My title");
            }
        });

        wv.loadUrl(URL);
        wv.setWebViewClient(new WebViewClient());
}

Надеюсь, это поможет вам.

person Bhavesh Patadiya    schedule 22.11.2012
comment
Спасибо за ваш ответ. Я не могу редактировать исходный код html. Просто я получаю вызов API ссылки на изображение. - person Raghu Mudem; 22.11.2012
comment
Мне нужно запустить приложение на всех устройствах, таких как планшеты и заметки. - person Raghu Mudem; 22.11.2012
comment
да, он будет работать на всех устройствах. Вы можете попробовать это. но дело в том, что мы не получим изображение, 100% подходящее для каждого устройства. а реализуя его. вы можете получить 90% решение вашей проблемы. Я также жду другого эффективного ответа. - person Bhavesh Patadiya; 22.11.2012
comment
этот ответ действительно помог мне, это следует принять как правильный ответ, - person CENT1PEDE; 19.02.2014

Вы пытаетесь использовать приведенный ниже код для вышеуказанной проблемы: -

Display display = getWindowManager().getDefaultDisplay();
int width=display.getWidth();

String data="<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>";
data=data+"<body><center><img width=\""+width+"\" src=\""+url+"\" /></center></body></html>";
webView.loadData(data, "text/html", null);
person duggu    schedule 26.04.2013

Вы можете попробовать это:

webView.setInitialScale(30);
WebSettings webSettings = webView.getSettings();
webSettings.setUseWideViewPort(true);

См.: ссылка

person kittu88    schedule 22.11.2012
comment
Но я не могу редактировать исходный код html. Просто я получаю вызов API ссылки на изображение. все еще не получаю - person Raghu Mudem; 22.11.2012
comment
хорошо, тогда просто используйте код для настройки веб-просмотра. Я думаю, это поможет вам. Не обращайте внимания на html-часть. - person kittu88; 22.11.2012
comment
Нет, я тоже пробовал, но мое изображение отображается как 1-я диаграмма на моей прикрепленной диаграмме. - person Raghu Mudem; 22.11.2012
comment
добавив мой код веб-просмотра здесь: ложь ›‹/WebView› - person Raghu Mudem; 22.11.2012