当我们使用OnItemClickListener来改变Item以使其比较突出时,我们一般采用如下的代码。
public void onItemClick(AdapterView<?> parent, View view, int arg2, long arg3) { //恢复每个单元格背景色 TextView categoryTitle; for(int i=0;i<parent.getCount();i++) { categoryTitle = (TextView) parent.getChildAt(i); categoryTitle.setTextColor(0XFFADB2AD); categoryTitle.setBackgroundDrawable(null); } //设置选择单元格的背景色 categoryTitle=(TextView)view; categoryTitle.setTextColor(0XFFFFFFFF); categoryTitle.setBackgroundColor(R.drawable.categorybar_item_background);
这样焦点才会出现这样的效果:
如果我们新建一个文件夹比如人color和drawable,然后通过里面的xml文件来调用颜色,代码如下。
?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:color="#ffffffff"/> <item android:state_pressed="true" android:color="#ffffffff"/> <item android:state_selected="true" android:color="#ffffffff"/> <item android:color="#ffabd2ad"/>
public void onItemClick(AdapterView<?> parent, View view, int arg2, long arg3) { //恢复每个单元格背景色 TextView categoryTitle; for(int i=0;i<parent.getCount();i++) { categoryTitle = (TextView) parent.getChildAt(i); categoryTitle.setTextColor(R.color.category_title_normal_background); categoryTitle.setBackgroundDrawable(null); } //设置选择单元格的背景色 categoryTitle=(TextView)view; categoryTitle.setTextColor(R.color.white); categoryTitle.setBackgroundColor(R.drawable.categorybar_item_background);
运行后的结果如图:
也就是颜色更愿意接受的是直接给一个值,而不是通过xml文件来实现。
相关推荐
本文将详细讲解如何在`OnItemClickListener`中设置焦点颜色,并探讨直接使用颜色值与通过XML资源文件实现的区别。 首先,让我们看一个基础的`OnItemClickListener`使用示例。在这个例子中,我们遍历整个Adapter的...
本文将深入探讨如何在ListView的item被选中时更改字体颜色,这是一个初级开发者常遇到的问题。 首先,我们需要了解ListView的基本结构。ListView通常与Adapter一起使用,Adapter是连接数据源(如ArrayList)和...
ListView的默认行为是不设置任何项为选中状态,但有时我们希望在应用启动时,第一个Item能自动呈现出选中效果,以引导用户或者突出初始焦点。本教程将深入讲解如何实现ListView的第一个Item的默认选中状态。 首先,...
3. **监听事件**:通过设置`OnItemClickListener`或`OnScrollListener`,你可以监听用户的点击和滚动行为,以便进行相应的业务逻辑处理。 4. **定制样式**:通过自定义主题或在布局文件中调整属性,你可以改变`...
为了提供更好的用户体验,开发者经常需要在用户点击ListView的某一项时,不仅改变这一项的背景颜色,还可能需要改变其子控件(如图片)的状态。这就是标题中提到的"listview selector 选中时改变item 子控件 图片...
- **方式一:使用XML布局**:在定义ListView项布局文件时,可以使用`android:background`属性设置一个带有圆角的形状 drawable。例如,创建一个`shape.xml`资源文件,定义一个矩形并设置其四个角为圆角: ```xml ...
Android提供了多种方式来改变背景,包括设置颜色、图片或者选择器(Selector)。 - 选择器(Selector)是Android中的一个XML文件,可以定义不同状态下的背景。例如,未被点击时和被点击时的背景。创建一个`list_...
设置列表项之间的分隔线,可以是颜色或者自定义的Drawable。 6. **setDividerHeight(int height)** 设置分隔线的高度。 7. **setSmoothScrollbarEnabled(boolean enabled)** 启用或禁用平滑滚动条,即当滚动...
ListView通过Adapter来绑定数据,并使用ViewHolder模式来提高滚动时的性能。当用户点击ListView中的某一项时,我们需要改变被点击项的背景色或其它视觉效果,以反馈用户操作。 1. 创建Selector资源文件:在Android...
在实际应用中,为了提升用户体验和界面美观性,我们经常需要对ListView的样式进行自定义,例如将其角落设置为圆角,同时在用户点击时改变选中状态。本教程将详细介绍如何实现“Android列表之圆角ListView选中”的...
PopupWindow的一些其他特性包括:设置是否可触摸外部区域关闭、是否允许焦点等。 ```java // 是否允许触摸外部区域关闭 popupWindow.setOutsideTouchable(true); // 是否获取焦点 popupWindow.setFocusable(true); ...
- `ColorPointHintView`:使用颜色点作为指示器,可以设置点的颜色。 - `TextHintView`:使用文字作为指示器,可以自定义文字内容。 此外,你可以通过实现`OnItemClickListener`接口监听滚轮视图的点击事件,以便在...