我想使用“drawable / selector”绘制一个按钮,以便在单击按钮时背景颜色发生变化。 所以我使用drawable(有选择器)定义了RelativeLayout的背景。第一步工作正常:当我单击布局对象时,颜色会发生变化。
在那个RelativeLayout中,我现在添加两个独立的动态文本视图。这些文本视图现在使用RelativeLayout的大部分空间。因此,当我单击文本视图对象时,父布局的背景不再更改。
那么,有没有办法让布局具有动态背景(处理用户点击以改变颜色)并在顶部有重叠的视图?
请注意,relativeLayout的背景是一个从上到下的渐变。
<RelativeLayout
android:id="@+id/titleBackground"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/button_background"
android:gravity="left|center_vertical"
android:clickable="true"
>
<TextView android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/light_text"
android:gravity="left|center_vertical"
android:singleLine="true"
android:ellipsize="end"
/>
<TextView android:id="@+id/subtitle"
android:layout_below="@id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/light_text_alpha"
android:gravity="left|center_vertical"
android:textSize="@dimen/secondarylisttext_size"
android:scrollHorizontally="true"
android:singleLine="true"
android:ellipsize="end"
/>
</RelativeLayout>
答案 0 :(得分:0)
您的textview正在捕获点击事件,并且它们不会传递到后台的relativelayout。您需要在两个文本视图中添加onTouchListener,并根据动作事件的“ACTION_DOWN,ACTION_UP”为触摸侦听器内的相对布局设置背景。
可能有一些方法可以让textview通过点击事件。但我不确定。上述方法只是一个解决方案。可能还有其他人。
答案 1 :(得分:0)
正如blessenm所说,一切都取决于TextView,如果你让它们可点击,那么父选择器就不再计算了(当然你也可以在TextView上使用选择器)。