置灰GridView 的disable Item

如果想要disable掉GridView中的item,需要做如下两件事情:

1. override Adapter 的 areAllItemsEnabled

2. override Adapter 的 isEnabled(int position)

3. 另外如果想在disable的时候,置灰对应的item,那么只需要在getView方法中,设置对应View的alpha值即可。

比如:

class MyAdapter extends BaseAdapter {

    @Override
    public boolean isEnable(int position) {
        // return true for clickable , false for not
        return isShouldEnableItem(position);
    }

    @Override
    public boolean areAllItemsEnabled() {
        return false;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ...
        if (isEnabled(position)) {
            convertView.setAlpha(1f);
        } else {
            convertView.setAlpha(0.2f);
        }
        ...
    }
}

PS: the alpha value , 0 means the view is completely transparent and 1 means the view is completely opaque.

置灰GridView 的disable Item

时间: 2024-11-07 18:55:10

置灰GridView 的disable Item的相关文章

jQuery按钮置灰及恢复

<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>DOM0级添加</title> <style type="text/css"> input{ height: 20px; width: 80px; border: 1px; } #addo{ background-color: blue; } </style

Cocos2dx-- 图片置灰实现

前言:游戏中有很多按钮控件,它们一般会有选中和未选中2种状态.我们如果要区分这两种状态的表现,很多时候是直接叫美术给两种状态下的资源,或直接setColor设置颜色.这样无疑增加了资源的大小或不美观(看需求).本节将介绍怎么通过opengl es程序来实现图片置灰操作. 注:这个置灰操作是基于Cocos-Lua的,具体原理分析这里不打算介绍,主要讲如何实现. 实现步骤 Lua端操作: 1,置灰Lua代码(ShaderEffect.lua) local ShaderEffect = { vertD

GridView 动态修改Item的LayoutParam导致Item的OnClickListener失效

GridView 动态修改Item的LayoutParam导致Item的OnClickListener失效 项目中为了实现图片的数量以及大小(类似微信图片的单张图片显示,和多张图片显示的大小是不同的)的效果,采用GridView动态修改边界,以及动态修改ImageView的大小的方式.实现效果如下: 单图: 多图 到目前为止,没有遇到什么问题,可是,之后就遇到一个问题,就是在ImageView上设置OnClickListener,第0张图片无法点击的问题. 追踪源码,发现一直运行到: 这个函数的

cocos2dx3.X shader使图片置灰

1 OpenGL ES着色器 opengl es的着色器有.fsh和.vsh两个文件.这两个文件在被编译和链接后就可以产生可执行程序与GPU交互.attribute是从外部传进来的,每一个顶点都会有这两个属性,所以它也叫做vertex attribute(顶点属性).而varying类型的变量是在vertex shader和fragment shader之间传递数据用的. .vsh 是 vertex shader,用与顶点计算,可以理解控制顶点的位置,在这个文件中我们通常会传入当前顶点的位置,和

unity UI置灰(转载)

Unity3D开发(二):NGUI之UIButton"禁用"状态时置灰 分类: Unity3D开发2013-09-30 18:51 7024人阅读 评论(5) 收藏 举报 目录(?)[+] NGUI中的Button几乎是最常用到的控件之一,并且可以组合各种组件(比如UIButtonColor,UIButtonOffset,UITweenxx),方便设置Button的各种状态下的属性,几乎可以满足我们的所有需求. 但是对于当Button的isEnabled属性设置为false时,根据设置

【有意思的BUG】默认置灰的属性的值传递

数据由Client发送给Server,如下图所示,Server在收到请求后会响应Client. 比如Client发送给Server一组数据:Name:sean&Hobby:movies&City:Peking&Country:China 有如下表单: 可以看到"China"是默认置灰的属性的值,不允许手动输入,所以用户只需要填写"Name"."Hobby"."City"这三项,然后点击最下面的"

[原]NGUI之按钮置灰

传统按钮置灰,需要使用另外一张纹理. 本例通过修改shader和NGUI sprite的r值实现按钮置灰.优势:节省纹理,操作简单 将NGUI Unlit/Transparent Colored片段部分改成如下:fixed4 frag (v2f i) : COLOR { fixed4 col= tex2D(_MainTex, i.texcoord) * i.color; if(i.color.r < 0.0001) { float grey = dot(col.rgb, float3(0.299

将图片转换成黑白(灰色、置灰)

网站图片置灰现在已经很常见了,最近上网找了些资料,基本都是用css3 grayscale和grayscale.js,做了测试,发现用CSS或greyscale.js都不能完全兼容. 测试浏览器版本:google.google.firefox.opera.safari.IE7-9 css3 grayscale很多都是用这段CSS: -webkit-filter: grayscale(100%);/*兼容google.opera*/ -moz-filter: grayscale(100%);/*FF

【每日一记】unity3d 图片置灰shader

项目需要,参考了一下网上的资料,写了一个shader,给按钮置灰. shader具体实现如下: Shader "Transparent Colored Gray" { Properties { _MainTex ("Base (RGB), Alpha (A)", 2D) = "white" {} } SubShader { LOD 200 Tags { "Queue" = "Transparent" &qu