change height in Android 2.2 LinearLayout in code

Posted by Niro on Stack Overflow See other posts from Stack Overflow or by Niro
Published on 2012-12-09T20:38:52Z Indexed on 2012/12/09 23:04 UTC
Read the original article Hit count: 801

Filed under:
|
|

Im trying to change height of Layouts through the code without success. I've tried all of the examples i saw here and other site and my app just keep shutting down.

xml code:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_lay"
android:orientation="vertical"
tools:context=".MainActivity" >

<LinearLayout 
    android:id="@+id/layout_add"
   >   
</LinearLayout>

<LinearLayout 
     android:layout_width="fill_parent"
     android:layout_height="50dp"
     android:background="@color/green">

    <ImageView
       android:layout_width="fill_parent"
       android:contentDescription="@string/desc"
       android:layout_height="45dp"
       android:layout_gravity="center_vertical|left"
       android:scaleType="fitStart"
       android:background="@color/orange"
       android:src="@drawable/logo"
       >
    </ImageView>

</LinearLayout>
</LinearLayout>

Java code:
main_layout=(LinearLayout)findViewById(R.id.main_lay);
main_layout.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
main_layout.setBackgroundResource(R.color.white);

layout_add = (LinearLayout) findViewById(R.id.layout_add);
layout_add.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT,50 ));
layout_add.setBackgroundResource(R.color.dark_grey);

I cant understand what im doing wrong. I've tried different ways to fix it. The Backround setting is working fine. Thank you guys Niro

This is the Logcat

12-09 16:12:39.007: E/AnalyticsSDKTest.cpp(6338): Time w/ UTC Offset: 2012-12-09   
12-09 16:16:14.517: E/ActivityManager(121): fail to set top app changed!
12-09 16:16:14.547: E/InputDispatcher(121): channel '4056b9c8  com.nirosadvice.converter/com.nirosadvice.converter.MainActivity (server)' ~ Consumer      closed input channel or an error occurred.  events=0x8
12-09 16:16:14.547: E/InputDispatcher(121): channel '4056b9c8 com.nirosadvice.converter/com.nirosadvice.converter.MainActivity (server)' ~ Channel is  unrecoverably broken and will be disposed!
12-09 16:16:18.071: E/PVWmdrmProxy(5716): binder died for component: ComponentInfo{com.pv.wmdrmservice/com.pv.wmdrmservice.PVWmdrmService}
12-09 16:16:18.161: E/AndroidRuntime(18911): FATAL EXCEPTION: main
12-09 16:16:18.161: E/AndroidRuntime(18911): java.lang.RuntimeException: Unable to   start activity    ComponentInfo{com.nirosadvice.converter/com.nirosadvice.converter.MainActivity}:    java.lang.RuntimeException: Binary XML file line #1: You must supply a layout_width attribute.
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1821)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1842)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.ActivityThread.access$1500(ActivityThread.java:132)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.os.Looper.loop(Looper.java:150)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.ActivityThread.main(ActivityThread.java:4263)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at java.lang.reflect.Method.invokeNative(Native Method)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at java.lang.reflect.Method.invoke(Method.java:507)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at dalvik.system.NativeStart.main(Native Method)
12-09 16:16:18.161: E/AndroidRuntime(18911): Caused by: java.lang.RuntimeException: Binary XML file line #1: You must supply a layout_width attribute.
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3684)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:3764)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.widget.FrameLayout$LayoutParams.<init>(FrameLayout.java:457)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:423)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:47)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:231)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.Activity.setContentView(Activity.java:1715)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at com.nirosadvice.converter.MainActivity.onCreate(MainActivity.java:87)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
12-09 16:16:18.161: E/AndroidRuntime(18911):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1785)
12-09 16:16:18.161: E/AndroidRuntime(18911):    ... 11 more

Thanks

After Iv'e added the attributes to the XML - this is what i'm getting :

CatLog:
12-09 16:42:33.168: E/AndroidRuntime(19065): FATAL EXCEPTION: main
12-09 16:42:33.168: E/AndroidRuntime(19065): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.view.View.measure(View.java:8526)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.view.View.measure(View.java:8526)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.view.View.measure(View.java:8526)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.view.ViewRoot.performTraversals(ViewRoot.java:902)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1957)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.os.Looper.loop(Looper.java:150)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at android.app.ActivityThread.main(ActivityThread.java:4263)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at java.lang.reflect.Method.invokeNative(Native Method)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at java.lang.reflect.Method.invoke(Method.java:507)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-09 16:42:33.168: E/AndroidRuntime(19065):    at dalvik.system.NativeStart.main(Native Method)
12-09 16:42:39.023: E/AnalyticsSDKTest.cpp(6338): Time w/ UTC Offset: 2012-12-09 21:42:39-05:00
12-09 16:42:49.013: E/AndroidRuntime(19095): FATAL EXCEPTION: main
12-09 16:42:49.013: E/AndroidRuntime(19095): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.view.View.measure(View.java:8526)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.view.View.measure(View.java:8526)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.view.View.measure(View.java:8526)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.view.ViewRoot.performTraversals(ViewRoot.java:902)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1957)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.os.Looper.loop(Looper.java:150)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at android.app.ActivityThread.main(ActivityThread.java:4263)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at java.lang.reflect.Method.invokeNative(Native Method)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at java.lang.reflect.Method.invoke(Method.java:507)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-09 16:42:49.013: E/AndroidRuntime(19095):    at dalvik.system.NativeStart.main(Native Method)
12-09 16:44:00.913: E/AndroidRuntime(19148): FATAL EXCEPTION: main
12-09 16:44:00.913: E/AndroidRuntime(19148): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.view.View.measure(View.java:8526)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.view.View.measure(View.java:8526)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.view.View.measure(View.java:8526)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.view.ViewRoot.performTraversals(ViewRoot.java:902)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1957)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.os.Looper.loop(Looper.java:150)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at android.app.ActivityThread.main(ActivityThread.java:4263)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at java.lang.reflect.Method.invokeNative(Native Method)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at java.lang.reflect.Method.invoke(Method.java:507)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-09 16:44:00.913: E/AndroidRuntime(19148):    at dalvik.system.NativeStart.main(Native Method)
12-09 16:44:02.935: E/InputDispatcher(121): channel '4056b9c8 com.nirosadvice.converter/com.nirosadvice.converter.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
12-09 16:44:02.935: E/InputDispatcher(121): channel '4056b9c8 com.nirosadvice.converter/com.nirosadvice.converter.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
12-09 16:45:25.075: E/AndroidRuntime(19210): FATAL EXCEPTION: main
12-09 16:45:25.075: E/AndroidRuntime(19210): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.view.View.measure(View.java:8526)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.view.View.measure(View.java:8526)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.view.View.measure(View.java:8526)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.view.ViewRoot.performTraversals(ViewRoot.java:902)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1957)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.os.Looper.loop(Looper.java:150)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at android.app.ActivityThread.main(ActivityThread.java:4263)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at java.lang.reflect.Method.invokeNative(Native Method)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at java.lang.reflect.Method.invoke(Method.java:507)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-09 16:45:25.075: E/AndroidRuntime(19210):    at dalvik.system.NativeStart.main(Native Method)
12-09 16:50:34.507: E/AndroidRuntime(19358): FATAL EXCEPTION: main
12-09 16:50:34.507: E/AndroidRuntime(19358): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.view.View.measure(View.java:8526)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.view.View.measure(View.java:8526)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.view.View.measure(View.java:8526)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.view.ViewRoot.performTraversals(ViewRoot.java:902)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1957)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.os.Looper.loop(Looper.java:150)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at android.app.ActivityThread.main(ActivityThread.java:4263)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at java.lang.reflect.Method.invokeNative(Native Method)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at java.lang.reflect.Method.invoke(Method.java:507)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-09 16:50:34.507: E/AndroidRuntime(19358):    at dalvik.system.NativeStart.main(Native Method)

Third try - after changing the Frame to Linear :

12-09 17:42:39.076: E/AnalyticsSDKTest.cpp(6338): Time w/ UTC Offset: 2012-12-09   22:42:39-05:00
12-09 17:55:44.141: E/ActivityManager(121): Fix ANR:broadcast when App died
12-09 17:55:44.722: E/AndroidRuntime(19469): FATAL EXCEPTION: main
12-09 17:55:44.722: E/AndroidRuntime(19469): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.view.View.measure(View.java:8526)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.view.View.measure(View.java:8526)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3224)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.view.View.measure(View.java:8526)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.view.ViewRoot.performTraversals(ViewRoot.java:902)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1957)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.os.Looper.loop(Looper.java:150)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at android.app.ActivityThread.main(ActivityThread.java:4263)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at java.lang.reflect.Method.invokeNative(Native Method)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at java.lang.reflect.Method.invoke(Method.java:507)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-09 17:55:44.722: E/AndroidRuntime(19469):    at dalvik.system.NativeStart.main(Native Method)

© Stack Overflow or respective owner

Related posts about android

Related posts about layout