view组件的duplicateParentState属性
今天做页面的时候遇到一个小问题,在点击的时候改变组件的图片来源,这个很简单大家都知道,用selector可以很快实现。但是现状有点特殊,是LinearLayout中包裹着一个ImageView
需要当点击LinearLayout的时候ImageView图片来源的改变,试了好久还是不行,其中还牵扯到了组件的冒泡,结果在activity中实现的,后来想想不是很好,随手翻阅了一下api发现view有一个duplicateParentState属性,看表面意思是和父组件保持同样的状态,结果抱着试试看的心态,果然可以实现当点击LinearLayout的时候促发内部组件的selector,看来还是基础不牢固啊!
<LinearLayout android:id="@+id/id_linearLayout_adjust_operate" android:layout_width="match_parent" android:layout_height="80dp" android:layout_marginTop="26dp" android:background="@drawable/list_main_bg_selector" android:gravity="center_vertical" android:orientation="horizontal" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:clickable="true" android:duplicateParentState="true" android:focusable="true" android:src="@drawable/icon_main_operation_selector" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="14dp" android:text="@string/STR_MAIN_ADJUST_OPERATE" android:textColor="#909bb8" android:textSize="20sp" /> </LinearLayout>
这样就可以实现当点击付LinearLayout促发内部ImageView的selector