gpt4 book ai didi

android - 触摸时更改 ListView 行内的背景颜色和 View 颜色

转载 作者:行者123 更新时间:2023-11-29 18:01:25 25 4
gpt4 key购买 nike

我需要将行 View 背景颜色更改为蓝色,它是这样的: enter image description here

xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="@dimen/main_info_cell_view_width"
android:layout_height="@dimen/main_info_cell_view_height"
android:background="@color/main_info_cell_background_color" >

<FrameLayout
android:id="@+id/pic_frame"
android:layout_width="@dimen/channel_pic_background_widht"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" >

<View
android:id="@+id/channel_pic_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/main_info_cell_pic_background_color" />

<ImageView
android:id="@+id/channel_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/c__no_image" />
</FrameLayout>

<View
android:id="@+id/divider"
android:layout_width="@dimen/main_info_cell_divider_widht"
android:layout_height="match_parent"
android:layout_toRightOf="@+id/pic_frame"
android:background="@color/main_info_cell_divider_color" />

<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/title_margin_left"
android:layout_marginRight="@dimen/title_margin_right"
android:layout_marginTop="@dimen/title_margin_top"
android:layout_toRightOf="@+id/divider"
android:ellipsize="end"
android:lines="2"
android:textColor="@color/main_info_cell_title_color"
android:textSize="@dimen/title_text_size" />

<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/time_margin_bottom"
android:layout_marginLeft="@dimen/time_margin_left"
android:layout_toRightOf="@+id/divider"
android:textColor="@color/main_info_cell_time_color"
android:textSize="@dimen/time_text_size" />

<TextView
android:id="@+id/pos_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/pos_nr_margin_right"
android:textColor="@color/main_info_cell_pos_nr_color"
android:textSize="@dimen/pos_nr_size" />

</RelativeLayout>

我尝试对行使用选择器,但问题是选择器仅更改 View 的背景颜色,而 ImageView 下方的黑色方 block 仍然保持黑色,我如何更改其颜色以及行背景?

最佳答案

使用 StateListDrawable 作为层次结构的根/父 ViewGroup 的背景。

因此,android:background="@drawable/mystatelistdrawable" 其中 mystatelistdrawable 是使用 this guide 布局的文件.

您可能还想看看 android:duplicateParentState .

关于android - 触摸时更改 ListView 行内的背景颜色和 View 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com