view组件的duplicateParentState属性
程序员文章站
2022-05-11 12:21:19
...
今天做页面的时候遇到一个小问题,在点击的时候改变组件的图片来源,这个很简单大家都知道,用selector可以很快实现。但是现状有点特殊,是 LinearLayout 中包裹着一个 ImageView
需要当点击LinearLayout 的时候ImageView图片来源的改变,试了好久还是不行,其中还牵扯到了组件的冒泡,结果在activity中实现的,后来想想不是很好,随手翻阅了一下api发现view有一个duplicateParentState 属性,看表面意思是和父组件保持同样的状态,结果抱着试试看的心态,果然可以实现当点击LinearLayout 的时候促发内部组件的selector,看来还是基础不牢固啊!
这样就可以实现当点击付LinearLayout 促发 内部 ImageView 的selector
博客地址:http://qiaoyihang.iteye.com/
需要当点击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
博客地址:http://qiaoyihang.iteye.com/
推荐阅读
-
iOS App开发中UITextField组件的常用属性小结
-
在Vue中获取组件声明时的name属性方法
-
Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
-
vue组件中的样式属性scoped实例详解
-
iOS App开发中UITextField组件的常用属性小结
-
在Vue中获取组件声明时的name属性方法
-
vue中的router-view组件的使用教程
-
详解Vue改变数组中对象的属性不重新渲染View的解决方案
-
Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
-
微信小程序新增的拖动组件movable-view使用教程