欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

view组件的duplicateParentState属性

程序员文章站 2022-05-11 12:21:19
...
今天做页面的时候遇到一个小问题,在点击的时候改变组件的图片来源,这个很简单大家都知道,用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


博客地址:http://qiaoyihang.iteye.com/