سؤال

مرحبا،

هل من الممكن دعم تكبير عرض الويب (على غرار المتصفح الافتراضي) عندما يقرص المستخدم ويحرك أصابعه أقرب / أبعد. أنا أستخدم 2.2 و tatted هذا سيكون ممكنا باستخدام ScaleGtureDetector. المشكلة هي أنه لا يمكنني العثور على طريقة لتعيين المقياس. WebView.getScale () إرجاع المقياس الحالي الذي يتغير من خلال Zoomin () و Zoomout () ولكن لا يمكنني العثور على setScale () أو خيار لتعيين التكبير افتراضيًا والسماح لنظام التشغيل بالتعامل معه.

أندي

هل كانت مفيدة؟

المحلول

يستخدم:

webview.getSettings().setBuiltInZoomControls(true);

للقيام بتكبير قرصة ووضع أزرار التكبير/الخارج على الشاشة.

نصائح أخرى

تحتاج إلى تنفيذ OnTouchevent (MotionEvent) في WebView الخاص بك.

ثم في هذا الحدث ، تمرير الحركة إلى ScaleGtureStector حتى يتمكن من معالجته ، ثم اتصل بـ Super.

class ScalableWebView extends WebView implements ScaleGestureDetector.OnScaleGestureListener
{
    ScaleGestureDetector mScaleDetector = new ScaleGestureDetector(this, this);

    public boolean onTouchEvent(MotionEvent event)
    {
        if(mScaleDetector.onTouchEvent(event))
             return true;

        return super.onTouchEvent(event);
    }

    boolean onScaleBegin(ScaleGestureDetector detector) 
    {
     //handle scale event begin
    }

    boolean onScale(ScaleGestureDetector detector) 
    {
     //handle scale event
    }

    boolean onScaleEnd(ScaleGestureDetector detector) 
    {
     //handle scale event end
    }

}

هناك setScale ، جرب هذا :

webView.setInitialScale((int)(100 * webView.getScale());
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top