gpt4 book ai didi

android - 如何为选定的列表项设置背景样式?

转载 作者:行者123 更新时间:2023-11-30 04:04:36 26 4
gpt4 key购买 nike

我在使用自定义适配器和列表项 xml 布局定义 ListView 时遇到问题。问题是我的 ListView 在按下时没有突出显示项目。我正在做以下事情:

我定义了一个可绘制选择器 xml 资源文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@android:color/holo_orange_light" />
<item android:state_pressed="false" android:drawable="@android:color/white" />
</selector>

我定义了一个项目布局 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/btn_voice_item"
>

<ImageButton
android:id="@+id/voiceItemFavorite"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_centerVertical="true"
android:layout_margin="5dp"
android:background="@drawable/btn_favorite" />

<TextView
android:id="@+id/voiceItemText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_margin="5dp"
android:layout_toRightOf="@+id/voiceItemFavorite"
android:background="@drawable/btn_voice_item" />

</RelativeLayout>

最后,我在我的自定义数据适配器中编写了代码来膨胀和填充然后查看。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = context.getLayoutInflater();
convertView = inflater.inflate(R.layout.voice_item, null);
}
VoiceItem i = getItem(position);
TextView t = (TextView) convertView.findViewById(R.id.voiceItemText);
t.setText(i.toString());
ImageButton b = (ImageButton) convertView.findViewById(R.id.voiceItemFavorite);
b.setTag(i);
b.setSelected(i.favorite);
b.setOnClickListener(new FavoriteClick());
return convertView;
}

一切正常,除了当我按下列表中的项目时没有视觉指示。我希望按下项的背景颜色过渡到我的可绘制选择器定义的样式。

我怎样才能拥有自定义 View 项目并在按下时保留项目的样式突出显示?

最佳答案

如果 android:background="@drawable/btn_voice_item" 是纯色图像,那么它将覆盖 ListView 选择器。这是关于自定义 ListView 选择器 和项目背景的非常详细的教程 ListViewTipsandTricks part3 (西里尔·莫蒂尔)

关于android - 如何为选定的列表项设置背景样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11943545/

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