vnshetty
vnshetty

Reputation: 20132

Setting layout_width, layout_height using a style

I used a style file to set a unique style for same layouts,

Style:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
   <!-- User form layout style -->
   <style name="UserFormLayoutRow">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:orientation">horizontal</item>
    <item name="android:paddingBottom">@dimen/padding_small</item>
   </style>
</resources >

//In layout file

 <LinearLayout
   style="@style/UserFormLayoutRow" >
         //contents
 </LinearLayout>

Error:(design time)

enter image description here

Error at run time:

06-13 05:58:14.506: E/AndroidRuntime(936): Caused by: java.lang.RuntimeException: Binary XML file line #105: You must supply a layout_width attribute.

Where i am going wrong? TIA

Upvotes: 9

Views: 7012

Answers (2)

Ravi Raj
Ravi Raj

Reputation: 6697

Even i had this same problem, the way i solved is just provide wrap_content to both height and width in the layout xml file. Then override whatever height and width you want in the style xml file, so now you need not change the value again in layout xml file. At last just add the style attribute to the corresponding view.

Upvotes: 0

Prachi
Prachi

Reputation: 3672

EDIT I checked for your scenario. It appears that layout_width and layout_height must be given defined under layout. If you do not want to mention them in xml, then mention it in style.xml and use it for your view.

Upvotes: 4

Related Questions