ListView总结

ListView的使用——qml 前言 之前有一阵子一直写qml,现在隔了半年,已经忘得差不多了。如果不是看着以前的代码能回想起一些东西,我恐怕以为之前只是幻想罢了。 最近终于有点时间可以琢磨东西,或者说有时间选择用什么语言写,写成什么样的。正好现在有一个简单的界面,所以就拿来练手,用qml写一个稍微好看一点的界面。这个项目里面有一个列表展示,所以就用到了今天我想说的ListView了:ListView我觉得是最常用的了吧,特别他的一些基本东西,如model、delegate都是很多控件(GridView PathView)都需要配置的 阅读详情


参考:http://www.cnblogs.com/leizhenzi/archive/2011/07/25/2115986.html

           http://sizeed.blog.163.com/blog/static/96525451201110259301224/

1、默认ListItem的背景是透明的,ListView的背景是固定不变的,

     设置ListView的背景颜色:

         

                  android:background="#FFFFFF" 

        	  android:cacheColorHint="#FFFFFF"
      
                  <!-- 两者尽量一样 -->


 

     或者

           

            android:background="@drawable/图片"

            android:cacheColorHint="#00000000"


 2、设置分割线:

     

   <!--定义分割线是图片或者颜色-->

      android:divider="#FF0000" 
  <!-- 定义分割线的高度 -->

     android:dividerHeight="6px"


 5、击Item时无背景颜色变化,但是高亮

 

        可以这样设置:

           

    android:listSelector="@android:color/transparent"
   <!--在values文件夹下的colors.xml中定义transparent--> 
   <color name="transparent">#50000000</color>

 

  
       也可以这样设置:

       

       <!--在xml文件中的ListView控件中加入android:listSelector属性-->


           android:listSelector="@drawable/timer_list_selector"


      <!--在drawable中定义timer_list_selector的属性值    
           timer_list_selector.xml中定义:  -->


       <?xml version="1.0" encoding="utf-8"?>
        <selector xmlns:android="http://schemas.android.com/apk/res/android">
              <item android:state_selected="true" android:drawable="@android:color/transparent" />
        </selector>


    <!--在values文件夹下的colors.xml中定义transparent-->
    

      <color name="transparent">#50000000</color>



6、设置Item之间无间隙

 

    

 <!--在xml文件中ListView控件中加入如下属性-->
         android:divider="#00000000"


    <!--或者在javaCode中如下定义-->
      listView.setDividerHeight(0);





7、listview在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。

android:scrollingCache="false"


 

 

8 、listview的上边和下边有黑色的阴影。
     

  android:fadingEdge="none"  

 

9、设置Item 获得焦点样式,选中样式,未选择样式

 

   

[1] 设置基础颜色 values/colors.xml 文件



	<?xml version="1.0" encoding="utf-8"?>
	<resources>
	    	<color name="transparent">#FFD306</color>       
		<color name="silver">#00ffffff</color>     
  		<color name="darkgray">#808080FF</color>  
  		<color name="white">#FFFFFFFF</color>
		<color name="red">#FE2E2E</color><color name="ltgray">#4B8A08</color>  
 		<color name="pressed">#fff22fff</color>   
 		<color name="selected">#fff33fff</color>  
   		<color name="focused">#ffff44ff</color>
         </resources>



 

  [2] 设置 selector  xml文件 路径:drawable/catalog_list_selector.xml



	<?xml version="1.0" encoding="utf-8"?>

	<selector xmlns:android="http://schemas.android.com/apk/res/android">

	       <item android:state_selected="false"    android:state_pressed="false"    android:drawable="@color/ltgray"/>

	       <item android:state_pressed="true"    android:drawable="@color/red"/>

                <item android:state_selected="true" android:state_pressed="false"    android:drawable="@color/red"/>

        </selector>


 

[3]设置Item项的背景



android:background="@drawable/catalog_list_selector"



 

10、设置ListView选中Item后,item项的颜色不改变(即显示选中的状态),可以使用:

   

   android:listSelector="#00000000"

      显示其他颜色:

  

   android:listSelector="#颜色"

 

 

11、ListView的Item项点击事件

     

listView.setOnItemClickListener(new OnItemClickListener() {

     @Override
     public void onItemClick(AdapterView<?> parent, View view,
       int position, long id) {
      
     }
    });


 

12、ListView设置滚动后,Item的选择事件

     

 listView.setOnItemSelectedListener(new OnItemSelectedListener(){

     @Override
     public void onItemSelected(AdapterView<?> parent,
       View view, int position, long id) {
      
     }

     @Override
     public void onNothingSelected(AdapterView<?> parent) {
      
     }});


 

 

 

 

13、如何取消Listview的滚动条?

    

   setVerticalScrollBarEnabled(false)

 

14、ListView滚动条怎么一直都显示?

   

   android:fadeScrollbars="false"

 

15、ListView隔行变色:

     

   int[] colors={Color.BLUE,Color.CYAN};

   //在Adapter的getView()中
   convertView.setBackgroundColor(colors[position%2]);


16、ListView中嵌套了checkbox,焦点会到checkbox身上,解决办法

    

  holder.checkBox.setFocusable(false);


17、listView滚动轴图片更改?

 

   android:scrollbarThumbHorizontal=""   //滚动轴游标
   android:scrollbarTrackVertical=""  //滚动轴背景
  // 引用的是9patch图片

18、ListView设置EmptyView?

 

    

 mListView.serEmptyView();

  Sets the view to show if the adapter is empty这个就是对此方法的描述 当listview的adapter为null的时候,就会显示所设置的view。

  需要注意的有两点:在调用setAdapter()之前调这个方法;设置的emptyview必须放在listview的直接父布局里 ,

  比如说listview嵌在一个LinearLayout里面的话,需要在代码里面写 mLinearLayout.addContentView(你的emptyview); 否则的话是没效果的。

 

19、ListView设置FooterView?

 

        在调用setAdapter()之前调这个方法
         footerView可以单独写点击触发事件,但是注意最好写在listview的OnItemClickListener()里面,然后根据点击
         的位置if(position == mListView.getCount - 1){"触发footerview点击事件"}
         如果是单独给它一个View.onClickListener的话,点击是可以触发事件的,但是没有listview的item按下的变黄色
        效果。

 

     

 

 

Flutter开发之——可滑动组件—ListView 二 ListView。 阅读详情

相关推荐

LISTVIEW使用指南 (VB6)

LISTVIEW控件并不是默认的工具箱的配置项目,你必须要手工添加---单击"工程"菜单项目,选择"部件",在部件对话框的"控件"栏目中选择"MICROSOFT WINDOWS COMMON CONTROLS 6.0",确认在它前面的复选框中有一个黑色的对号,单击"确认" 按钮,这时你的工具箱中便添加了几个控件,其中,有五个空心圆圈的便是LISTVIEW控件了, 当然怎么把它...

weixin_34395205的博客 3600

Android中ListView选中事件setOnItemSelectedListener无反应不生效问题

Android中ListView选中事件setOnItemSelectedListener无反应不生效问题 在学习Android中ListView组件时,android模拟器运行app时,发现点击有反应,选中无反应,原因是在android模拟器中需要按键盘上下键来触发选中事件。 Android开发ListView事件:setOnItemSelectedListener、setOnItemCli...

androidswc的专栏 3629

地平线天工开物AI开发平台实战:从量化训练到模型部署的完整指南

本文提供了地平线天工开物(OpenExplorer)AI开发平台的实战指南,详细解析了从量化训练到模型部署的完整流程。文章重点对比了量化感知训练(QAT)与训练后量化(PTQ)两条核心路径的优劣与适用场景,并分享了图像分类模型PTQ部署的实战经验与常见问题调试技巧,旨在帮助开发者高效地将AI模型部署到地平线AI芯片上。

weixin_29046035的博客 456

spinner中的onNothingSelected方法到底什么时候调用?

这个东东大家在开发中可能不太能用到,所以总是容易被忽略,由于工作原因,我最近琢磨了一下onNothingSelected方法的调用时机问题,其实很简单,只要我们稍微看一下源码就明白了: /** * Callback method to be invoked when the selection disappears from this * vi...

weixin_30788619的博客 397

Uniapp+Vue3+Monorepo:如何优化你的前端开发流程(附完整配置代码)

本文详细介绍了如何利用Uniapp+Vue3+Monorepo技术栈优化前端开发流程,提升代码可维护性和团队协作效率。通过Monorepo架构实现依赖管理智能化、代码复用最大化和构建流程统一化,结合完整配置代码和实战指南,帮助开发者快速构建高性能跨端应用。

weixin_29011993的博客 452

ros2的unity仿真配置(ros2-for-unity)

可以看到unity中输出了Hello World,验证完毕!可以看到unity上监听的/chatter。

m0_63671696的博客 4093

android listview onitemselected,旧问新解·ListView 中的 OnItemSelectedListener 不生效

1、概述今天在写颜色识别的Demo 时有个场景是需要用户做出单项选择,脑中蹦出首选的方案就是 ListView 配合 ChoiceMode。但实际在编写过程中却出了问题 :ListView 中的 OnItemSelectedListener 没有从 ListView 中接收回调。出现问题并不可怕,可怕的是对问题视而不见的态度。2、解决问题2.1、OnItemSelectedListener的定义O...

weixin_35715440的博客 1004

智能车图像处理20-进阶篇12--正入十字补线1

这篇文章主要讲述基本的正入十字补线方法。

taiyuezyh的博客 6930

ListView知识总结

                                                    ListView控件使用总结   Android开发中ListView是比较常用的组件,他用列表的形式显示数据,根据数据的长度自动的增长列表在实际的开发中使用比较多,之前做的音乐播放器中已经使用到这个组件,为了自己加深理解并且为了和大家分享我稍微进行了整理并写了一例子以供大家相互学习。 ...

这是要成为全栈的节奏么 152

【Tessy】集成测试小白入门指导

本文详细介绍了如何进行集成测试的小白入门指导,从新建工程到设计用例,实现集成测试的过程详细步骤

qq_37282365的博客 1181

YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标

PKI Module是。

Limiiiing的博客 2705

使用ListView应该注意的地方

原文: http://gundumw100.iteye.com/blog/1169065 在ListView中设置Selector为null会报空指针?  mListView.setSelector(null);//空指针  试试下面这种:  mListView.setSelector(new ColorDrawable(Color.TRANSPARENT));  如何让Li

liangguo03的专栏 2731

倍福--RS232自由口实现

RS232/485通信协议是在现场中常用到的,比如触摸屏、温控模块等设备控控制器做通信,会常用到此类协议,本文介绍RS232/485自由口通信的实现,并用PC调试助手进行测试。 目 录 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制器软件 3 硬件连接 3 2.1. PC COM介绍 3 2.2. RS232/RS485连接 3 3.2.1. N030…………. 4 3.2.2. N031…………. 4 2.3. 实际线路连接 5 PLC程序 7 3

weixin_41883890的博客 3283

WIN32 ListView消息处理。

创建完ListView之后,就需要对列表做一些操作。而win32程序呢,是通过使用消息来传递你要做什么,谁做。 所以,我们就需要对某些我们感兴趣的消息做一些处理。而现在,我们只对处理ListView这个控件感兴趣。 在窗口过程函数里,在switch中添加一个caseWM_NOTIFY;这个消息通知控件的父窗口控件中已发生事件或控件需要某种信息。 添加一行这样的代码:NM_L...

qq_42008055的博客 2260

产品缺陷检测:表面缺陷检测_(1).产品缺陷检测基础理论

确定像素之间的相似性准则,如灰度值的差异。

zhubeibei168的博客 832

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

wpf中listview就是可以这么简单——小白用listview系列

记录下每一个让我蛋疼的问题,说不定以后还会用得着。 关于wpf中listview的使用, 首先在xaml中使用listview,代码如下

a962755614的博客 6万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ListView滚动条的换肤方案

因项目需要准备对LISTVIEW的滚动条进行自绘。于是在网上搜了一下,问题没解决,却搜出一篇令人不愉快的帖子 。确实,那时候实力是不够的,但现在应该是没问题了,为这个目的才不断磨练自己的。LISTVIEW控件的滚动条是系统自带的,它不创建窗口。对LISTVIEW窗口本身进行子类化后,要处理一些跟滚动条有关的消息。首先是要骗过WM_NCPAINT消息。这个十分容易。WM_NCPAINT消息的

superarhow的专栏 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Flutter---ListView

ListView 是 Flutter 中用于显示滚动(垂直/水平)列表的 Widget,可以高效地展示大量数据。 ListView():一次性构建所有子项 ListView.separated():自动添加分隔组件 ListView.builder():按需构建子项,性能最优 ListView.custom():使用 SliverChildDelegate

m0_50891221的博客 593

VB ListView 隔行背景

Private Sub SetListViewColor(Lv As ListView, pic As PictureBox, LvCount As Long) Dim i As Integer pic.BackColor = Lv.BackColor Lv.Parent.ScaleMode = vbTwips pic.ScaleMode = vbTwips

yanzhibo的专栏IlgawME)Y*Ml 3216

QML类型——ListView

正文 为列表模型(ListModel)的所有元素提供列表视图。 详细说明 ListView显示内置QML类型(例如ListModel和XmlListModel)创建的模型数据,或者使用C++定义的自定义模型类(继承QAbstractItemModel或QAbstractListModel)创建的数据。 ListView有一个Model(定义要显示的数据)和一个Delegate(定义如何显示数据)。ListView中的元素可以水平或垂直放置。列表视图本质上是可以拖动的,因为ListView继承Flickabl

fengyanyu68的博客 8908

解决Flutter的ListView嵌套ListView滑动冲突以及无限高度问题

关键代码 shrinkWrap: true, //解决无限高度问题 physics:NeverScrollableScrollPhysics(),//禁用滑动事件 可滑动控件都有这两个属性,给子滑动部件设置上这两个参数,即可办到子ListView跟随父ListView滑动。 demo 代码 import 'package:flutter/material.dart'; class BossMa...

骑猪也能看夕阳 5312

emWin中向LISTVIEW单元格中添加信息

如果LISTVIEW原为空表,在向单元格中添加信息前,需先添加行:LISTVIEW_AddRow(hItem, NULL); 然后再使用函数void             LISTVIEW_SetItemText         (LISTVIEW_Handle hObj, unsigned Column, unsigned Row, const char * s);向单元格中写数据。 例:

xiaomei2010280的博客 3815

ucGUI ListView里显示图标

ucGUI库的版本是3.94,LISTVIEW里没有设置显示图标的功能。自己加了一个方法来显示。 作了如下的几点修改可以了。 1:修改LISTVIEW_ITEM结构,新增一个变量记录bmp图标。 typedef struct { WM_HMEM hItemInfo; WM_HMEM hDrawObj; char acText[1]; } LISTVIEW_ITEM; 2

HELLO 4114

ListView

/

波波诸葛伟 1539

让ListView回来原来的位置

让ListView回到原来的位置 当从ListView中的某一个Item跳转到其他的Activity,进行操作之后,ListView可能需要刷新(重新加载数据源),这个时候ListView就会回到原始的状态,即:从第一个Item开始显示。我们要做的是让它回到原来的位置 //记录当前的ListView的位置 private int CURRENT_LISTVIEW_ITEM_POS...

weixin_30645617的博客 446

Delphi ListView的用法

//增加 i := ListView1.Items.Count; with ListView1 do begin ListItem:=Items.Add; ListItem.Caption:= IntToStr(i); ListItem.SubItems.Add('第 '+IntToStr(i)+' 行'); ListItem...

dkopg24406的专栏 285
上一篇: Lucene分词实现(二次开发流程)
下一篇: android中设置CheckBox的样式
longyi_java
博客等级 码龄20年 24粉丝 127原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值