জুম নিয়ন্ত্রণগুলি কীভাবে সক্ষম করবেন এবং একটি ওয়েবভিউতে জুম চিমটি কীভাবে করবেন?


131

অ্যান্ড্রয়েডের জন্য ডিফল্ট ব্রাউজার অ্যাপটি যখন আপনি স্ক্রল করছেন তখন জুম নিয়ন্ত্রণগুলি দেখায় এবং চিমটি জুমিংয়ের অনুমতি দেয়। আমি কীভাবে নিজের ওয়েবভিউয়ের জন্য এই বৈশিষ্ট্যটি সক্ষম করব?

আমি চেষ্টা করেছিলাম:

webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

তবে কোনও বৈশিষ্ট্যই ফলস্বরূপ সক্ষম হয় না। বিটিডব্লিউ আমি ওয়েবভিউয়ের জন্য একটি WebChromeClientএবং একটি সেট করে রেখেছি WebViewClientযদি তাতে কোনও পার্থক্য আসে।

ধন্যবাদ!

উত্তর:


291

স্ট্রেঞ্জ। অনক্রিয়েট পদ্ধতির অভ্যন্তরে, আমি ব্যবহার করছি

webView.getSettings().setBuiltInZoomControls(true);

এবং এটি এখানে কাজ করছে। আপনার ওয়েবভিউতে বিশেষ কিছু?


46
এটি যখন চিমটি থেকে জুমকে অনুমতি দেবে, এটি একটি জুম ওভারলে নিয়ন্ত্রণ (গ্যালাক্সি এস 3) প্রদর্শন করবে display অন-স্ক্রিন জুম সরঞ্জামটি নিষ্ক্রিয় করতে, তবে চিমটি থেকে জুম কার্যকারিতা ধরে রাখতে, আপনাকে ওয়েবভিউ.সেটডিসপ্লাইজুমকন্ট্রোলস (ভুয়া) কল করতে হবে।
লেভ

49
^webView.getSettings().setDisplayZoomControls(false);
বিজ্ঞানদী

এই সব আমার জন্য কাজ করে না। উদাহরণস্বরূপ এই ওয়েবসাইটটি ব্যবহার করে দেখুন: " nbc26.com/robocalls/… "। এটি আমাকে জুম করতে দেয় না। এটা কি সত্যিই আপনার জন্য কাজ করে? দয়া করে এর জন্য পুরো কোডটি দেখান।
অ্যান্ড্রয়েড বিকাশকারী

যদি কেউ এই উত্তরের দিকে নজর দিচ্ছেন এবং ওয়েবভিউ অবজেক্টটি কোথা থেকে এসেছে তা ভাবছেন, আপনি এই মন্তব্যেWebView webView = (WebView) appView.getEngine().getView(); দেখানো হিসাবে এটি পেতে পারেন
অ্যান্ড্রু ড্যান্ট

যদি আপনি Xamarin.Android ওয়েব ভিউ রেন্ডারার ব্যবহার করেন তবে এটি নীচে নীচে কোড রয়েছে tings Control.Settings.SetSupportZoom (সত্য); কন্ট্রোল.সেটেটিংস.ডিসপ্লেজুমকন্ট্রোলস = মিথ্যা;
আদিল সাইয়াদ

94

এগুলো ব্যবহার করো:

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

1
প্লাস 1, উত্তরের জন্য .. আমাকে সাহায্য করেছে।
অক্ষত শ্রীনিবাস

1
হ্যাঁ, setBuiltInZoomControls (সত্য) এবং setDisplayZoomControls (মিথ্যা) আমার পক্ষে কাজ করেছে।
প্রতীক সালুজা

34

আপনার ওয়েব ভিউ মোড়ানো আপনার কাছে কোনও স্ক্রোলভিউ নেই কিনা তা পরীক্ষা করে দেখুন ।

আমার ক্ষেত্রে সমস্যা ছিল। মনে হচ্ছে স্ক্রোলভিউ চিমটি ইশারায় চলে আসে।

এটি ঠিক করতে, আপনার ওয়েবভিউটিকে স্ক্রোলভিউয়ের বাইরে নিয়ে যান


6
আপনি আমার দিনটি বাঁচিয়েছেন
এলমেটিটিও

আমার জন্য দুর্দান্ত কাজ করে এখন আমি আমার নেস্টেড স্ক্রোল ভিউটি পুরোপুরি মুছতে পারি!
অভি পরিশন

আপনি যখন অ্যান্ড্রয়েড যুক্ত করতে পারেন তখন এটি কাজ করে: ফিলভিউপোর্ট = সত্য <স্ক্রোলভিউ অ্যান্ড্রয়েড: লেআউট_উইথ = "ম্যাচ_প্যারেন্ট" অ্যান্ড্রয়েড: বিন্যাস_ উচ্চতা = "ম্যাচ_প্যারেন্ট" অ্যান্ড্রয়েড: ফিলিভিউপোর্ট = "সত্য">
অ্যান্ড্রয়েড আহমেদ

4

অনক্রিয়েটের অভ্যন্তরে যুক্ত করুন:

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

এইচটিএমএল ডকুমেন্টের অভ্যন্তরে যোগ করুন:

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=yes">
</head>
</html>

জাভাস্ক্রিপ্টের ভিতরে, বাদ দিন:

//event.preventDefault ? event.preventDefault() : (event.returnValue = false);

সেটসপোর্টজুমের জন্য ডিফল্ট বুলিয়ান true, webview.getSettings().setSupportZoom(true);ডিফল্টরূপে প্রয়োজন নেই ।
زيাদ

ভাল উত্তর! আপনি এইচটিএমএল সম্পর্কিত সমস্যা উল্লেখ করেছেন, এটিই আমার সমস্যা সমাধানের মূল বিষয়! ধন্যবাদ !
সিউই শেন 申思维

4

একটি ওয়েবভিউতে জুম নিয়ন্ত্রণ সক্ষম করতে, নিম্নলিখিত লাইনটি যুক্ত করুন:

webView.getSettings().setBuiltInZoomControls(true);

কোডের এই লাইনটির সাহায্যে আপনি আপনার ওয়েবভিউতে জুমটি সক্ষম করেছেন, আপনি যদি জুম ইন এবং সরানো বোতাম সরবরাহ করতে চান তবে নীচের কোডটির লাইন যুক্ত করুন:

webView.getSettings().setDisplayZoomControls(false);

2

এই কোডটি ব্যবহার করে দেখুন, আমি ভাল কাজ করছি।

 webSettings.setSupportZoom(true);
 webSettings.setBuiltInZoomControls(true);
 webSettings.setDisplayZoomControls(false);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.