2011-09-26 86 views
12

我在滚动视图中添加一些Linearlayout视图,通过动态膨胀它们。我已将添加的LinearLayout的背景设置为选择器列表。但是在添加到scrollview后,当我按下所选视图时,它不会显示选择器列表的任何影响。我使用的示例个XML是:android linearlayout背景选择器

选择的文件:selector_file

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/listbg" 
     android:state_pressed="true" /> 
<item android:drawable="@drawable/bgsmall"/> 
</selector> 

而且我充气下面的视图和添加到L1的LinearLayout:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/selector_file" 
android:gravity="center_vertical" 
> 
<ImageView android:id="@+id/image1" android:layout_width="100dip" android:layout_height="75dip"/> 
<TextView android:id="@+id/textitem" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000"></TextView> 
</LinearLayout> 

而滚动型,其在上述正在添加的充气视图是:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
> 

<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> 
    <LinearLayout android:id="@+id/l1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> 

</LinearLayout> 
</ScrollView> 
</LinearLayout> 

任何想法...?

+0

它工作,如果你把它放在滚动视图之外? – blessenm

+0

我想scrollview中的一些控件会消耗按下的事件,所以你的孩子的LinearLayout无法触摸。 – anticafe

+1

其实我将选择器设置为Linearlayout的背景。如果我为按钮使用相同的选择器,它可以工作,但不适用于LinearLayout ... –

回答

28

您必须使LinearLayout可点击。

android:clickable="true" 
+0

非常感谢,我错过了设置相对布局 – Zoombie