我的项目中有一个webview控件,想要根据手机屏幕大小自动适应屏幕高度。
我在网上查到的代码如下,但是就直接报错请问有什么办法可以做到吗?谢谢了!DisplayMetrics dm = new DisplayMetrics();//获取当前显示的界面大小
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width=dm.widthPixels;
int height=dm.heightPixels;//获取当前界面的高度
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) wv.getLayoutParams();
linearParams.height = height;
wv.setLayoutParams(linearParams);上面的代码以启动就报错
我在网上查到的代码如下,但是就直接报错请问有什么办法可以做到吗?谢谢了!DisplayMetrics dm = new DisplayMetrics();//获取当前显示的界面大小
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width=dm.widthPixels;
int height=dm.heightPixels;//获取当前界面的高度
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) wv.getLayoutParams();
linearParams.height = height;
wv.setLayoutParams(linearParams);上面的代码以启动就报错
我调试的时候是
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams)wv.getLayoutParams();
好像通不过。
求解。谢谢了
你这样:
DisplayMetrics displaysMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics( displaysMetrics );
int pixWidth= displaysMetrics.widthPixels;switch(pixWidth)
{
//这里设置你想要的webview的长宽,比如为l,w
}//你使用这里得到的长宽不就可以了吗
wv.setWidth(w);
wv.setHeight(l);
wv.setWidth(w);
wv.setHeight(l);
你这样试试吧,把你这个webview放到一个LinearLayout ll=...(在你xml中定义个)中;LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(w, l);
ll..setLayoutParams(lp);
ll.addView(wv);就可以了