android - 更改 ListView Item 背景颜色但保留默认选择器样式?

标签 android android-layout

我正在尝试以编程方式在我的 ListView 适配器中设置自定义背景颜色,但我想保留 Android 的默认 Listview 选择器样式。

我正在使用项目 View 的“SetBacgroundResource”方法设置背景颜色。

我使用的是 Android 4.0,我尝试了这个博客中的示例 http://daniel-codes.blogspot.co.nz/2010/07/how-to-change-listview-rows-background.html但是使用此示例,选择器会显示未选择的背景颜色。

如何在 Android 4.0 ICS 中实现这一点?

编辑:这是我用于列表项背景可绘制资源的资源。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_window_focused="false" android:state_selected="true" android:drawable="@android:color/transparent" /> 
   <item android:state_selected="true" android:drawable="@android:color/transparent" /> 
   <item android:state_pressed="true" android:state_selected="false" android:drawable="@android:color/transparent" /> 
   <item android:state_selected="false" android:drawable="@color/list_item_first" /> 
</selector>

我用来设置此背景可绘制对象的代码位于我的数据处理器的 GetView 方法中。代码是:

convertView.setBackgroundResrouce(R.drawable.list_item_dark);

最佳答案

您是否尝试设置属性 android:drawSelectorOnTop您的 ListView 为真?
您将能够为您的项目设置背景,并在按下时看到突出显示的项目。

关于android - 更改 ListView Item 背景颜色但保留默认选择器样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13217178/

相关文章:

Android:如何在 Tablerow 中将三个 Textview 居中?

java - "removedialog"同时显示2个对话框时的问题

android - 我的应用程序出现蓝牙问题

android - 在android :src for ImageView using data binding in Android中设置drawable资源ID

java - LinearLayout : 3 Elements, 顶部、中心、底部

android - 如何更改 TabLayout 中下划线的长度(Android 设计支持库)

android - 检测用户何时在 TextInput/EditText (Android) 中进入/离开 "Swipe to type"模式

android - 无法解析配置 ':_armv7DebugCompile' 的所有依赖项

android - 在屏幕中间设计一个布局android

android - 如何在 Android 中为 Button 提供固定的宽度和高度