2011-02-24 11 views
7

मैं ड्रॉप करने और इसकी सामग्री को प्रकट करने के लिए वेबव्यू को "एनिमेट" करने का प्रयास कर रहा हूं। मैंने प्रत्येक बार 1 से ऊंचाई बढ़ाने के लिए एक हैंडलर लिखा है, हालांकि, मैं क्लासकास्ट अपवाद में भाग रहा हूं। कोड मेरे द्वारा उपयोग है:प्रोग्रामेटिक रूप से लेआउट ऊंचाई, ClassCastException बदलते हैं?

java.lang.ClassCastException: android.widget.AbsoluteLayout$LayoutParams 

मैं इसे कैसे ठीक करूं:

WebView.LayoutParams params = new WebView.LayoutParams(wv.getLayoutParams()); 
params.height = height; 
wv.setLayoutParams(params); 
height++; 
this.sleep(20); 

लाइन wv.setLayoutParams (पैरामीटर) पर, मैं एक मिल सकता है?

उत्तर

24

लेआउट पैरामीटर आपके दृश्य के माता-पिता के प्रकार का होना चाहिए। उदाहरण के लिए, यदि आपका वेब व्यू लाइनरलाउट के अंदर है, तो LinearLayout.LayoutParams का उपयोग करें।

+0

कोई सुराग क्यों एंड्रॉयड इस तरह के बजाय सभी ViewGroups के लिए बस एक ही LayoutParams वर्ग प्रोग्राम किया गया था के रूप में? वर्तमान कार्यान्वयन एंड्रॉइड के कम सुरुचिपूर्ण पहलुओं में से एक जैसा लगता है। – satur9nine

+0

क्योंकि सभी लेआउट एक ही विशेषताओं का समर्थन नहीं करते हैं। एक लेआउट पैराम्स कक्षा होने का मतलब है कि हम या तो किसी भी प्रकार का नक्शा या क्रैम का उपयोग करेंगे, जिसमें सभी संभव लेआउट पैराम फीचर्स हैं। यह बेहतर नहीं है :) –

+0

व्यक्तिगत रूप से मुझे "कुछ प्रकार के मानचित्र का उपयोग करें" विकल्प पसंद है क्योंकि यह कार्यान्वयन विवरण छुपाता है :) – satur9nine

0

निम्नलिखित गतिविधि के आकार के आकार का कोड है, मुझे उम्मीद है कि यह आपकी समस्या का समाधान करेगा। मेरे मामले में यह कोड काम करता है।

WindowManager.LayoutParams params = getWindow().getAttributes();  
     params.height = 200; 
     params.width = 220;   

     this.getWindow().setAttributes(params); 
4

उपयोग है-

ViewGroup.LayoutParams vc=webview.getLayoutParams(); 
     vc.height=700; 
     vc.width=450; 

     webview.setLayoutParams(vc); 

यह काम करेंगे

+0

काम कर रहे हैं या नहीं ?? – Ravi

+0

मेरे लिए काम किया। माता-पिता की ऊंचाई से मेल खाने के लिए मैं इसे कैसे बदलूं? – Guy

+0

अरे क्या आप मुझे इसके लिए पूरा कोड दिखा सकते हैं? – user2899094

संबंधित मुद्दे