我想实现一个效果,其中一个TextView的背景在点击时发生变化。我通过下面的绘图实现了这一点,状态被按下了。我遇到了一个奇怪的情况,如果我按下文本视图,拖离它,然后释放我的手指,容器背景变为灰色但TextView背景为白色。
不知何故,可绘制效果正在转移到父级并导致这种奇怪的行为。点击其他区域会导致父背景改变颜色(它应始终保持白色)。此外,此布局是ListView的标头。
<LinearLayout
android:id="@+id/1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/onclick_effect">
<TextView
android:id="@+id/3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/myPublicProfile"/>
<TextView
android:id="@+id/4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<TextView
android:id="@+id/5"
android:layout_width="@dimen/dprEightyFive"
android:background="@drawable/onclick_effect"
android:layout_height="match_parent"
android:gravity="start|center_vertical"/>
</LinearLayout>
抽拉/ onclick_effect
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<color android:color="@color/grey_subtle" /> <!-- pressed -->
</item>
<item>
<color android:color="@color/White"/>
</item><!-- default -->
</selector>
答案 0 :(得分:0)
在xml中你可以尝试
android:duplicateParentState="true"