2010-06-29 7 views
1

J'ai ce balisage:fond d'un LinearLayout couvrant son contenu

<LinearLayout 
    android:id="@+id/authorDetails" 
    style="@style/authorDetails"> 

<ImageView 
    android:id="@+id/authorPic" 
    style="@style/authorPic" /> 

<TextView 
    android:id="@+id/authorName" 
    style="@style/authorName" 
    android:text="author name" /> 

</LinearLayout> 

et ce style:

<style name="authorDetails"> 
     <item name="android:layout_below">@id/header</item> 
     <item name="android:layout_width">fill_parent</item> 
     <item name="android:layout_height">89dip</item> 
     <item name="android:orientation">horizontal</item>  
     <item name="android:background">@drawable/bg</item>   
    </style> 

    <style name="authorPic"> 
     <item name="android:layout_width">wrap_content</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:src">@drawable/xxx</item> 
    </style> 

    <style name="authorName"> 
     <item name="android:layout_width">wrap_content</item> 
     <item name="android:layout_height">wrap_content</item> 
    </style>  

et tu sais quoi? L'arrière-plan de LinearLayout couvre le contenu (ImageView et TextView). Pourquoi donc? Je ne comprends pas! si je sors la déclaration sur le LinearLayout bg le contenu réapparaît.

aidez s'il vous plaît!

+0

hm, étrange. avez-vous essayé de définir un layout_weight plus élevé pour l'imageview et le textview? cela aiderait-il? le même problème se produit-il lorsque vous appliquez des propriétés directement et non via des styles (juste pour tester)? –

+0

non cela n'a pas aidé :(layout_weight a à voir avec l'espace occupé par les éléments dans un LinearLayput et non avec l'ordre dans lequel les vues sont empilées, plus ces 2 vues sont contenues dans le LinearLayout afin qu'ils ne doivent pas se chevaucher par leur conteneur Tout le monde peut aider? – nourdine

Répondre

1

J'ai également rencontré ce problème et bien que cette question ait demandé il y a longtemps je publie cette réponse car elle peut aider quelqu'un qui lit ce fil. D'après ce que j'ai vu dans mon cas, le problème a été causé par une image que j'ai utilisée comme arrière-plan. Dans le cas 'nourdine', il se peut que le fichier '@ drawable/bg' soit un 9patch. L'utilisation d'une image simple devrait résoudre le problème.

Questions connexes