программно изменить высоту макета, ClassCastException? - PullRequest
9 голосов
/ 24 февраля 2011

Я пытаюсь «оживить» WebView, чтобы раскрыть его содержимое. Я написал обработчик для увеличения высоты на 1 каждый раз, однако я сталкиваюсь с ClassCastException. Код я используя это:

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

В строке wv.setLayoutParams (params) я получаю:

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

Как мне это исправить?

Ответы [ 3 ]

25 голосов
/ 24 февраля 2011

Параметры макета должны соответствовать типу родительского элемента вашего представления. Например, если ваш WebView находится внутри LinearLayout, используйте LinearLayout.LayoutParams.

5 голосов
/ 02 января 2013

используйте его -

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

        webview.setLayoutParams(vc);

Это будет работать

0 голосов
/ 24 февраля 2011

ниже приведен код установки размера активности, надеюсь, это решит вашу проблемуВ моем случае этот код работает.

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

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