GridView变色

android gridview 选择变色 再点击还原 并支持多选。记录贴 01 在网上看了很多方法  大多用 修改背景样式啊 发现并不是很适合我的项目 先放一张效果图 : //核心实现代码  public void chiceState(int post) { //首次更新adapter不做修改 p=true; //点击过后判断是 第一次点击还是多次点击 isChice[post]=isChice[po 阅读详情

 GridView一般是显示九宫格效果之类的,今天因为项目需求做了调整,但是突然发现好多 东西已经不适合了,于是借鉴了案例后做了更改,本编的效果就是默认显示GridView中的第5个item,点击另一个item变色后,原来的item恢复过来,类似于腾讯视频的选集效果,而且一般点击变色是通过创建selector 类型 的xml文件来操作的而本片的博客是直接在适配器中判断,不需要那么多的步骤,以下就是要实现的效果图,至于GridView中的一些其他属性我这里就不一一描述了

 

  

 1.在将要显示的页面中添加GridView控件

 <GridView
        android:stretchMode="columnWidth"
        android:verticalSpacing="10dp"
        android:id="@+id/faGrid"
        android:numColumns="4"
        android:layout_marginTop="10dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></GridView>

2. 添加要在GridView中显示的item布局(本人的是一个单纯的TextView)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_gravity="center"

    android:layout_height="wrap_content">
    <TextView
        android:gravity="center"
         android:id="@+id/texts"


        android:layout_width="60dp"
        android:layout_height="60dp" />
</LinearLayout>

3.接下来就是编码了,


public class MainActivity extends AppCompatActivity {
    private GridView gridView;
    private ArrayList< String> numberList=new ArrayList<String>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //拿到gridview的id
        gridView = (GridView) findViewById(R.id.faGrid);
        //初始化要在item显示的户籍
        String myfa[] ={"1","5","10","20","50","100","200","300","400","500"};
           //将数组中显示的信息添加到集合中
        for (int j = 0; j < myfa.length; j++) {

            numberList.add(myfa[j]);
        }
        //将集合中的数据传入适配器
        final SeriesFragmentDataAdapter seriesAdapter = new SeriesFragmentDataAdapter(this,numberList);
        gridView.setAdapter(seriesAdapter);
        //gridview点击事件进行判断是否变色
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                // TODO Auto-generated method stub
                 seriesAdapter.clearSelection(position);
                 seriesAdapter.notifyDataSetChanged();
            }
        });
    }


    public class SeriesFragmentDataAdapter extends BaseAdapter {

        private LayoutInflater inflater;
        private ArrayList<String> numberList = new ArrayList<String>();
        //这一个是设置默认显示的item下标,我默认显示的是第一个,也可以通过更改下标来改变默认显示的item
        private int selectedPosition = 0;

        public SeriesFragmentDataAdapter(Context context,
                                         ArrayList<String> numberList) {
            inflater = LayoutInflater.from(context);
            this.numberList = numberList;
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return numberList.size();
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return numberList.get(position);
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        public void clearSelection(int position) {
            selectedPosition = position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            ViewHolder holder;

            if (convertView == null) {
                holder = new ViewHolder();
                //拿到item的xml
                convertView = inflater.inflate(R.layout.layout_item, null);
                //拿到item中的控件id
                holder.textview = (TextView) convertView
                        .findViewById(R.id.texts);
                convertView.setTag(holder);
            }
            holder = (ViewHolder) convertView.getTag();
            if (numberList.get(position).length() > 0) {
                holder.textview.setText(numberList.get(position));
            }
            //设置点击的颜色更改
            if (selectedPosition == position) {
                holder.textview.setTextColor(Color.parseColor("#ff6501"));
            } else {
                holder.textview.setTextColor(Color.parseColor("#404040"));
            }
            return convertView;
        }

        public class ViewHolder {
            public TextView textview;
        }
    }
}

 

Information Fusion投稿避坑指南:从初稿到返修的完整流程解析(附模板下载) 本文详细解析了向Information Fusion投稿的全流程,从初稿准备到返修策略,涵盖了22个关键细节。特别强调了投稿前的隐形门槛、LaTeX模板的字体陷阱、图表规范要求以及返修回复的进阶技巧,帮助研究者避免常见错误,提升稿件接受率。附有实用模板下载,助力学术写作效率提升。 阅读详情

相关推荐

LLaVA-1.5:多模态视觉问答新突破

LLaVA-1.5在多模态视觉问答(VQA)任务中取得了显著进展,主要得益于视觉-语言连接器的优化和特定任务数据集的增加。通过将连接器升级为两层MLP,模型在处理视觉与语言关系时表现更佳。同时,引入如OKVQA、OCRVQA等数据集,增强了模型在复杂视觉推理任务中的能力。在11个基准测试中,LLaVA-1.5超越了现有方法,展示了其强大的多模态能力。此外,模型通过提升输入图像分辨率、扩展语言模型和改进多语言能力,进一步提升了性能。尽管在短格式回答任务中初期表现不佳,但通过调整提示格式和微调,其性能显著提升

weixin_57060548的博客 945

GridView中单击某行变色(前后台2种方式)

<br />前台方式:   <br /><br /><br /><br /><scriptlanguage="javascript"type="text/javascript"><br />        <br />    function SetBGC()<br />    {<br />        var style;<br />        var obj = document.getElementById("lv_roleList").getElementsByTagName("tr");<

yueying5235的专栏 1083

DL-FWI基础入门培训视频学习1、2

DL-FWI基础知识

shengMio的博客 709

Gridview相关颜色显示(满足特定数据要求的颜色显示,高亮显示)

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)        {           string str = Convert.ToString(DataBinder.Ev

soulfjq的专栏 467

Hiblup入门指南:从下载到基础应用

本文是Hiblup软件的入门指南,详细介绍了这款遗传评估工具的核心功能与价值。Hiblup能整合系谱、基因组和表型数据,高效计算估计育种值,助力动物育种与植物遗传改良研究。文章从软件下载安装、数据格式准备,到运行系谱BLUP和基因组BLUP分析,提供了清晰的实战步骤与命令示例,帮助用户快速上手并应用于实际科研与育种工作。

weixin_29209825的博客 495

提示词驱动的智能合同生成与审核

第1章:核心概念与背景 1.1.1 问题背景 1.1.1.1 合同生成与审核的需求 合同作为商业和法律领域中的基本工具,其生成和审核过程至关重要。传统的合同生成往往依赖于法律专业人士的手工撰写,这不仅耗时耗力,而且容易出现错误。此外,合

AI天才研究院 1001

android中gridView中点击 item为选中状态

gridView.setOnItemClickListener(new Gallery.OnItemClickListener(){    @Override    public void onItemClick(AdapterView parent, View arg1,

无线.无极线 2万+

番外篇 | 复现HIC-YOLOv5,助力小目标物体的检测

在本文中提出了一种改进的YOLOv5算法:HIC-YOLOv5,用于小目标检测,具有更好的性能和较低的计算成本。🌈

小哥谈 1130

[Android]取消GridView点击item时的颜色(我的手机点击后是橙黄色)

[Android]取消GridView点击item时的颜色(我的手机点击后是橙黄色) 1, 方法一,代码实现: gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); 2,方法二,直接在layout布局写好: <GridView android:listSelector="@andr

H_O_W_E的专栏 6085

Apache DolphinScheduler 实现了对 OceanBase 的元数据库支持

Apache DolphinScheduler 是一款开源的分布式工作流任务调度系统,它提供了可视化的工作流设计和调度功能,支持大数据任务的自动化调度和监控。最近的更新中,Apache DolphinScheduler 引入了对 OceanBase 数据库的元数据库支持,这为用户在大数据环境中管理和调度任务提供了更多选择。用户可以通过 DolphinScheduler 提供的可视化界面进行工作流的设计和调度,也可以通过 DolphinScheduler 提供的 API 进行任务的编程调度。

VavzNvml的博客 495

Gridview点击一行变色

想要实现:gridview单击行1变色,单击行2变色,行1自动变回原色 用JS来实现 无标题页 var oldRow = null; window.onload=function() { var tblId = ""; var tbl = $e(tblId);

涵涵的专栏 941

【2026OD新机考】【哈希表】20260422-文章特征提取【Py/Java/C++/C/JS/Go六种语言OD真题】【欧弟算法】全网注释最详细分类最全的华子OD真题题解

90+天陪伴式学习,100+直播课时,300+动画图解视频,500+LeetCode经典题,500+华为OD真题/大厂真题,还有简历修改、模拟面试、陪伴小群、资深HR对接将为你解锁。这道题的本质是多集合交集问题的变形,属于非常典型的哈希表应用题。,储存全局的每个片段中,各个字符最少出现的次数。表示该字母并非所有片段的公共字母。,按照顺序构建答案即可。没有字母在所有三个字符串中都出现。每个字母在各字符串中都至少出现。次,所以结果中每个字母出现一次。这样,当上述循环结束后,最终。显然在上述代码中,如果字母。

weixin_48157259的博客 66

GridView选中、经过行变色

Gridview选中行变色操作: 1、首先在.aspx页面块中添加javascript var prevselitem=null; function selectx(row) { if(prevselitem!=null) { prevselitem.style.backgr

leer923的专栏 1194

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

GridView选中行变色

转自:GridView选中行变色 - Eight~戒 - 博客园     http://www.cnblogs.com/ileaves/archive/2012/07/20/2601693.html Gridview选中行变色操作:        1、首先在.aspx页面块中添加javascript      var prevselitem=null;

古老的未来 1833

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

基于BaseAdapter的GridView变色效果实现

近期在项目开发中需要用到点击GridView,当选中他的时候需要变色的效果。 这里我们先在布局中添加GridView,这里我们使用的是RelativeLayout布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/an...

u014131314的博客 299

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

android 实现gridview点击后,带圆角的item内部变色,不是整个矩形变色

首先写一个xml文件  bg_recharge_gd.xml&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;!--点击后的item --&gt; &lt;item android

pxcz110112的博客 846

javascript控制GridView隔行换色、鼠标移动变色,选中变色

         //把事件放在onload里,因为我不知道JS如果直接写到这儿是不是会等页面加载完才执行        //使用<%=%>方式输出GridView的ID是因为某些情况下(如使用了MasterPage)会造成HTML中ID的变化        //颜色值推荐使用Hex,如 #f00 或 #ff0000        window.onload = functi

Mark的专栏 3806

DevExpress的GridView选中行变色

gridView2.Appearance.SelectedRow.BackColor = Color.FromArgb(50, 150, 150, 150); gridView2.Appearance.FocusedRow.BackColor = Color.FromArgb(80, 150, 150, 150); 渐变色。参考FromArgb选中自己喜欢的颜色。如果当前单元格被编辑无法显示内容渐变色,但是边框一样渐变 如有不需要编辑可以把单元格编辑设置为false。 this.colBMMC.Op.

广信—黄旭林的博客 2711

GridView每行悬停变色

GridView每行悬停变色    服务端实现方法    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)        {            e.Row.Attribu

554

Jquery实现GridView隔行变色,鼠标经过变色,单击或者选中变色

在Jquery实现GridView实现全选的功能基础上(Jquery实现Gridview全选功能 ),再做扩展,实现GridView隔行变色,鼠标经过变色,单击事件或者checkbox选中时变色功能 HTML代码: 代码 <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www....

weixin_30369041的博客 237

在GridView中移行变色

在GridView的事件中增加RowDataBound,在这个事件中首先判断当前行是不是数据行,然后进行变色处理,代码如下所示: if (e.Row.RowType == DataControlRowType.DataRow) { //鼠标经过时,行背景色变 e.Row.Attributes.Add("onmouseo...

weixin_34112030的博客 133

GridView选中行变色(无刷新) .

实现方式:通过javascript进行控制,点击行中任何一个位置,改行被选中变色。1、首先在.aspx页面块中添加javascript  1 script type="text/javascript"> 2     var prevselitem=null;

wzjemb的专栏 802

用javascript/css实现GridView行背景色交替、点击行变色javascript

前几天在博问里发现有人问关于 gridview点击行变色 的问题,突然想起很久很久以前,写过一篇文章 一个简单但常用的表格样式--鼠标划过行变色--简洁实现 ,是关于表格行颜色交替和鼠标指向时变色的,正好今天把那一篇补充和扩展一下,加上鼠标点击选择(其实只是点击后变个颜色,“选择”这个词在这里不合适),顺便把这个直接应用到gridview上,如果是其他的控件,或者直接的html,稍加修改也可以

chaoxidawang的专栏 375

设置鼠标滑过GridView行时变色

设置鼠标滑过GridView行时变色 //这里我们将对NorthWind数据库的Category表进行操作protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){ //将CategoryID为偶数的行设为银色(Silver) if (e.Row.RowType == DataContr...

weixin_30732487的博客 177

GridView显示数据鼠标悬停变色

GridView显示数据 鼠标悬停变色

Welcome to my blog 1626
上一篇: Fragment+Tablayout + BottomTabBar双导航栏实现
下一篇: 关于延时动画和停止的提示
KissSheep·
博客等级 码龄9年 1粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值