Android 正确设置控件布局参数
2012-03-14 21:55
423 查看
1.常见错误的设置
如果是mWebview对象的话,如果在xml文件已经定义了高度和长度
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT,200);
mWebview.setLayoutParams(params);
运行之后出现log
W/dalvikvm(12945): threadid=1: thread exiting with uncaught exception (group=0x2aac8900)
E/AndroidRuntime(12945): FATAL EXCEPTION: main
E/AndroidRuntime(12945): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:667)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:319)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1025)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureVertical(LinearLayout.java:394)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:317)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureVertical(LinearLayout.java:539)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:317)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureVertical(LinearLayout.java:539)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:317)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
E/AndroidRuntime(12945): at android.view.ViewRoot.handleMessage(ViewRoot.java:1735)
E/AndroidRuntime(12945): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(12945): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(12945): at android.app.ActivityThread.main(ActivityThread.java:4737)
E/AndroidRuntime(12945): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(12945): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(12945): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
E/AndroidRuntime(12945): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
E/AndroidRuntime(12945): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 1307): Force finishing activity org.philn.yos.lezone/.MainActivity
2.正确设置控件的布局参数
LayoutParams params = mWebViewHeader.getLayoutParams();
params.height = height;
params.width = LayoutParams.FILL_PARENT;
mWebViewHeader.setLayoutParams(params);
如果是mWebview对象的话,如果在xml文件已经定义了高度和长度
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT,200);
mWebview.setLayoutParams(params);
运行之后出现log
W/dalvikvm(12945): threadid=1: thread exiting with uncaught exception (group=0x2aac8900)
E/AndroidRuntime(12945): FATAL EXCEPTION: main
E/AndroidRuntime(12945): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:667)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:319)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1025)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureVertical(LinearLayout.java:394)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:317)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureVertical(LinearLayout.java:539)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:317)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.widget.LinearLayout.measureVertical(LinearLayout.java:539)
E/AndroidRuntime(12945): at android.widget.LinearLayout.onMeasure(LinearLayout.java:317)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3133)
E/AndroidRuntime(12945): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
E/AndroidRuntime(12945): at android.view.View.measure(View.java:8175)
E/AndroidRuntime(12945): at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
E/AndroidRuntime(12945): at android.view.ViewRoot.handleMessage(ViewRoot.java:1735)
E/AndroidRuntime(12945): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(12945): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(12945): at android.app.ActivityThread.main(ActivityThread.java:4737)
E/AndroidRuntime(12945): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(12945): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(12945): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
E/AndroidRuntime(12945): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
E/AndroidRuntime(12945): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 1307): Force finishing activity org.philn.yos.lezone/.MainActivity
2.正确设置控件的布局参数
LayoutParams params = mWebViewHeader.getLayoutParams();
params.height = height;
params.width = LayoutParams.FILL_PARENT;
mWebViewHeader.setLayoutParams(params);
相关文章推荐
- Android设置布局参数,addView添加布局时指定控件属性
- Android布局之FrameLayout设置控件居中显示
- android代码中动态设置布局中控件的属性
- android:布局参数,控件属性及各种xml的作用
- Android:自定义Activity基类,复用布局/控件,减少设置控件的重复代码,onPostOnCreate
- android线性布局控件之间的距离设置
- android 动态创建控件并设置布局
- Android UI控件之CheckBox实现墨迹天气设置布局界面(漂亮)
- android 动态创建控件并设置布局
- android:布局参数,控件属性及各种xml的作用
- Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性加入图标
- Android UI控件之CheckBox实现墨迹天气设置布局界面(漂亮)
- android 线性布局设置控件固定在底部
- android百分比库扩展,支持布局宽高比及子控件宽高比设置,支持布局圆角、圆形及描边,屏幕适配好帮手
- android控件或布局设置圆角
- android:布局参数,控件属性及各种xml的作用
- android:布局参数,控件属性及各种xml的作用
- Android动态添加设置布局与控件的方法
- android:设置布局参数LayoutParams
- android:布局参数,控件属性及各种xml的作用