में ज़ूम और पिंच नियंत्रण सक्षम करें मैं एक एंड्रॉइड वेबव्यू में काम करने के लिए ज़ूम करने के लिए चुटकी के साथ प्रदर्शित करने के लिए ज़ूम नियंत्रण प्राप्त करने का प्रयास कर रहा हूं। बड़े पैमाने पर संदर्भ this SO।एंड्रॉइड वेबव्यू
अभी मैं इन onCreate विधि में स्थापित किया जा रहा है:
this._webView.getSettings().setBuiltInZoomControls(true);
this._webView.getSettings().setDisplayZoomControls(true);
this._webView.getSettings().setSupportZoom(true);
लेकिन कुछ भी नहीं दिखाई देता है और ज़ूम नियंत्रण प्रकट नहीं होते। मैंने setSupportZoom
के बिना भी कोशिश की है लेकिन यह मदद नहीं प्रतीत होता है।
जहां तक मेरा बताऊं कि मेरा वेबव्यू एक स्क्रॉल दृश्य में लिपटे नहीं है लेकिन यह वेब-दृश्य का एक उपवर्ग है:
class MyWebView extends WebView {
public MyWebView(Context context) {
super(context);
}
@Override
public void goBack() {
super.goBack();
}
}
तो मैं इस तरह इसे बनाने अंत:
if (this._webView == null) {
this._webView = new MyWebView(this);
this._webView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
this._webView.getSettings().setJavaScriptEnabled(true);
this._webView.setWebChromeClient(new WebChromeClient());
this._webView.setWebViewClient(new WebViewClient());
this._webView.getSettings().setBuiltInZoomControls(true);
this._webView.getSettings().setDisplayZoomControls(true);
this._webView.getSettings().setSupportZoom(true);
this._webView.loadUrl(this._baseUrl);
}
कोई विचार जहां मैं गलत जा रहा हूँ?
धन्यवाद!
संपादित करें:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(1);
getWindow().setFlags(1024, 1024);
RelativeLayout my_layout = generateLayout();
initUI();
setContentView(my_layout);
}
generateLayout हम प्रारंभिक लेआउट बना सकते हैं और WebView के लिए धारक बनाने:
private RelativeLayout generateLayout() {
RelativeLayout my_layout = new RelativeLayout(this);
my_layout.setId(this.generateViewId());
my_layout.setLayoutParams(new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT));
... more layout stuff
FrameLayout webViewPlaceholder = new FrameLayout(this);
this._webViewPlaceholder = webViewPlaceholder;
webViewPlaceholder.setId(this.generateViewId());
webViewPlaceholder.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));
RelativeLayout.LayoutParams webViewPlaceholderLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
webViewPlaceholderLayoutParams.addRule(RelativeLayout.BELOW, rlHeader.getId());
webViewPlaceholder.setLayoutParams(webViewPlaceholderLayoutParams);
my_layout.addView(webViewPlaceholder);
}
फिर initUI
में हम बना
onCreate
में मैं यह कर वेब स्वयं ही देखें:
@SuppressLint({"SetJavaScriptEnabled"})
protected void initUI() {
if (this._webView == null) {
this._webView = new MyWebView(this);
this._webView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
this._webView.getSettings().setJavaScriptEnabled(true);
this._webView.setWebChromeClient(new WebChromeClient());
this._webView.setWebViewClient(new WebViewClient());
this._webView.getSettings().setSupportZoom(true);
this._webView.getSettings().setBuiltInZoomControls(true);
this._webView.getSettings().setDisplayZoomControls(true);
this._webView.loadUrl(this._baseUrl);
} else {
if (this._webView.getProgress() >= 100) {
this._progressIndicatorView.setVisibility(View.INVISIBLE);
}
setNavigationButtonsState();
}
this._webViewPlaceholder.addView(this._webView);
}
मुझे लगता है कि आपको वेबदृश्य का संदर्भ नहीं मिल रहा है। वेबदृश्य को लेआउट व्यू के रूप में उपयोग करने का प्रयास करें, गतिशील रूप से –
नहीं बनाया है क्या आप अपने लेआउट में 'this._webView' जोड़ते हैं? रूटव्यू को अपने लेआउट में वेबव्यू जोड़ना चाहिए। – cole
मैं मुख्य 'रिलेवेटिवआउट' में 'फ्रेमलेआउट' जोड़ता हूं और उसके बाद 'this._webView' जोड़ता हूं। मुख्य लेआउट प्रोग्रामेटिक रूप से बनाया गया है। क्या आप कोड देखना चाहते हैं? –