`

使用OnItemClickListener时关于焦点颜色的设置问题

 
阅读更多

      当我们使用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文件来实现。

  • 大小: 5.6 KB
  • 大小: 4.8 KB
分享到:
评论

相关推荐

    Android 处理OnItemClickListener时关于焦点颜色的设置问题

    本文将详细讲解如何在`OnItemClickListener`中设置焦点颜色,并探讨直接使用颜色值与通过XML资源文件实现的区别。 首先,让我们看一个基础的`OnItemClickListener`使用示例。在这个例子中,我们遍历整个Adapter的...

    android listView

    本文将深入探讨如何在ListView的item被选中时更改字体颜色,这是一个初级开发者常遇到的问题。 首先,我们需要了解ListView的基本结构。ListView通常与Adapter一起使用,Adapter是连接数据源(如ArrayList)和...

    ListView默认Item选中状态

    ListView的默认行为是不设置任何项为选中状态,但有时我们希望在应用启动时,第一个Item能自动呈现出选中效果,以引导用户或者突出初始焦点。本教程将深入讲解如何实现ListView的第一个Item的默认选中状态。 首先,...

    AndroidWearableListViewDemo

    3. **监听事件**:通过设置`OnItemClickListener`或`OnScrollListener`,你可以监听用户的点击和滚动行为,以便进行相应的业务逻辑处理。 4. **定制样式**:通过自定义主题或在布局文件中调整属性,你可以改变`...

    listview selector 选中时改变item 子控件 图片状态

    为了提供更好的用户体验,开发者经常需要在用户点击ListView的某一项时,不仅改变这一项的背景颜色,还可能需要改变其子控件(如图片)的状态。这就是标题中提到的"listview selector 选中时改变item 子控件 图片...

    自定义listview 圆角listviewitem 处理 选中背景处理

    - **方式一:使用XML布局**:在定义ListView项布局文件时,可以使用`android:background`属性设置一个带有圆角的形状 drawable。例如,创建一个`shape.xml`资源文件,定义一个矩形并设置其四个角为圆角: ```xml ...

    ListViewSelector

    Android提供了多种方式来改变背景,包括设置颜色、图片或者选择器(Selector)。 - 选择器(Selector)是Android中的一个XML文件,可以定义不同状态下的背景。例如,未被点击时和被点击时的背景。创建一个`list_...

    Android中ListView的常用方法一览.pdf

    设置列表项之间的分隔线,可以是颜色或者自定义的Drawable。 6. **setDividerHeight(int height)** 设置分隔线的高度。 7. **setSmoothScrollbarEnabled(boolean enabled)** 启用或禁用平滑滚动条,即当滚动...

    android listView itemClick 高亮

    ListView通过Adapter来绑定数据,并使用ViewHolder模式来提高滚动时的性能。当用户点击ListView中的某一项时,我们需要改变被点击项的背景色或其它视觉效果,以反馈用户操作。 1. 创建Selector资源文件:在Android...

    Android列表之圆角ListView选中(一)

    在实际应用中,为了提升用户体验和界面美观性,我们经常需要对ListView的样式进行自定义,例如将其角落设置为圆角,同时在用户点击时改变选中状态。本教程将详细介绍如何实现“Android列表之圆角ListView选中”的...

    android popup实现

    PopupWindow的一些其他特性包括:设置是否可触摸外部区域关闭、是否允许焦点等。 ```java // 是否允许触摸外部区域关闭 popupWindow.setOutsideTouchable(true); // 是否获取焦点 popupWindow.setFocusable(true); ...

    RollViewPager图片轮播效果开源框架使用方法详解

    - `ColorPointHintView`:使用颜色点作为指示器,可以设置点的颜色。 - `TextHintView`:使用文字作为指示器,可以自定义文字内容。 此外,你可以通过实现`OnItemClickListener`接口监听滚轮视图的点击事件,以便在...

Global site tag (gtag.js) - Google Analytics