Как убрать кнопки зума на веб-сайте Android?

Можно ли убрать кнопки зумаenter image description here? Это показывает, когда я масштабирую WebView. Мне нужно управление масштабированием без этих кнопок. Я использую Android 2.3.

Я использовал приведенный ниже код,

WebView webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setBuiltInZoomControls(false);
webview.getSettings().setJavaScriptEnabled(true);
FrameLayout mContentView = (FrameLayout) getWindow().
        getDecorView().findViewById(android.R.id.content);
final View zoom = webview.getZoomControls();
mContentView.addView(zoom, ZOOM_PARAMS);
zoom.setVisibility(View.GONE);
 Subrat nayak.06 авг. 2012 г., 08:17
@bharath ты можешь мне помочь?this
 Shankar Agarwal26 мая 2012 г., 16:05
мы можем обсудить здесьchat.stackoverflow.com/rooms/10629/agarwal
 bharath26 мая 2012 г., 16:12
Да, конечно. Я присоединюсь.

Ответы на вопрос(8)

webSettings.setDisplayZoomControls(false);
 12 авг. 2016 г., 16:05
Парень спросил про Android 2.3, это невозможно с 2.3

Main.java

    WebView wv = (WebView) findViewById(R.id.webview1) ;
    WebSettings webSettings = wv.getSettings();
    webSettings.setBuiltInZoomControls(false);
    wv.loadUrl(url);
 26 мая 2012 г., 15:34
В лучшем случае этоenable управление масштабированием.
 26 мая 2012 г., 15:40
изменить логическое значение на false

    android:minSdkVersion="8"

к этому:

    android:minSdkVersion="11"

чем использовать это в настройках веб-просмотра:

getSettings().setBuiltInZoomControls(true);
    getSettings().setDisplayZoomControls(false);
getSettings().setBuiltInZoomControls(false);

чтобы удалить кнопки масштабирования.

В API & gt; = 11 вы можете использовать:

webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(false);

Updated::: Если вы хотите, чтобы масштабирование увеличивалось / уменьшалось без элементов управления масштабированием, используйте приведенный ниже код (скопировано изВот)

public class Main extends Activity {
  private WebView myWebView;
  private static final FrameLayout.LayoutParams ZOOM_PARAMS =
new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
Gravity.BOTTOM);

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);
    myWebView = (WebView)findViewById(R.id.webView);

    FrameLayout mContentView = (FrameLayout) getWindow().
    getDecorView().findViewById(android.R.id.content);
    final View zoom = myWebView.getZoomControls();
    mContentView.addView(zoom, ZOOM_PARAMS);
    zoom.setVisibility(View.GONE);

    myWebView.loadUrl("http://www.almondmendoza.com");
  }
}

реализовав свой собственный веб-просмотр и используя отражение, чтобы получить встроенные элементы управления масштабированием и сделать их невидимыми для API ниже 11 (Honeycomb). Код, таким образом, работает для всех API вплоть до нуга Android;

public class CustomWebView extends WebView{

    private ZoomButtonsController zoom_controll = null;

    public CustomWebView(Context context) {
        this(context, null);
    }

    public CustomWebView(Context context, AttributeSet attrs) {
        this(context, attrs, android.R.attr.webViewStyle);
    }

    public CustomWebView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initWebSettings();
    }

    @SuppressLint("NewApi")
    private void initWebSettings() {
        WebSettings webSettings = getSettings();

        webSettings.setSupportZoom(true);
        webSettings.setBuiltInZoomControls(true);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            webSettings.setAllowContentAccess(true);
            webSettings.setDisplayZoomControls(false);

        } else {
            try {
                Class webview = Class.forName("android.webkit.WebView");
                Method method = webview.getMethod("getZoomButtonsController");
                zoom_controll = (ZoomButtonsController) method.invoke(this, null);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }


    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if(zoom_controll != null)
            zoom_controll.getZoomControls().setVisibility(View.GONE);
        return super.onTouchEvent(event);
    }

}

    if (ev.getAction() == MotionEvent.ACTION_DOWN ||
        ev.getAction() == MotionEvent.ACTION_POINTER_DOWN ||
        ev.getAction() == MotionEvent.ACTION_POINTER_1_DOWN ||
        ev.getAction() == MotionEvent.ACTION_POINTER_2_DOWN ||
        ev.getAction() == MotionEvent.ACTION_POINTER_3_DOWN) {
    if (multiTouchZoom && !buttonsZoom) {
        if (ev.getPointerCount() > 1) {
            getSettings().setBuiltInZoomControls(true);
            getSettings().setSupportZoom(true);
        } else {
            getSettings().setBuiltInZoomControls(false);
            getSettings().setSupportZoom(false);
        }
    }
}

if (!multiTouchZoom && buttonsZoom) {
    if (getPointerCount(ev) > 1) {
        return true;
    }
}

В твоем случаеmultiTouchZoom это правда иbuttonsZoom ложно

Я нашел это здесьвключить / отключить масштабирование в Android WebView и это сработало для меня.

 12 сент. 2012 г., 14:40
Что такое переменные multiTouchZoom и buttonsZoom?
 13 сент. 2012 г., 12:14
это решение будет работатьstackoverflow.com/a/11901948/998732
 12 сент. 2012 г., 15:02
@jayellos замените их вашими логическими значениями. Если вы хотите мультисенсорный зум, заменитеmultiTouchZoom с правдой. Если вам нужно отобразить кнопки зума, заменитеbuttonsZoom с правдой. В противном случае замените на false.
Решение Вопроса

WebView в Android 2.3.

используйте это: webView.getSettings().setDisplayZoomControls(false);

Ваш ответ на вопрос