2010-06-29 47 views
1

我有这个标记:背景的LinearLayout中涵盖的内容

<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> 

而这种风格:

<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>  

和u知道吗?

LinearLayout的背景涵盖了内容(ImageView和TextView)。这是为什么?我没有明白!如果我拿出有关LinearLayout bg的声明,则会重新显示内容。

请帮忙!

+0

嗯,很奇怪。你有没有尝试为imageview和textview设置更高的layout_weight?会有帮助吗? 当直接应用属性而不是通过样式(仅用于测试)时会发生同样的问题吗? – 2010-06-29 15:42:46

+0

没有帮助:(layout_weight与LinearLayput中元素占用的空间有关,而与视图堆叠的顺序无关,加上这2个视图包含在LinearLayout中,所以它们不应该被它们的容器重叠嘘!任何人都可以帮忙? – nourdine 2010-06-29 16:35:17

回答

1

我也遇到过这个问题,虽然这个问题很久以前问过我发布这个回复,因为它可能会帮助读取此线程的人。从我在案例中看到的问题是由我用作背景的9patch图像造成的。在'nourdine'的情况下,可能是'@ drawable/bg'文件是9patch文件。使用普通图像可以解决问题。