APP已经能运行了。。。 因为开发这个系统需要一些jar包,所以导入用到的jar包 现在测试显示几个数据 public class MainActivity extends AppCompatAc
长按操作是经常会遇到的场景,通过driver可以直接调出long_press_keycode方法,但是这个方法是长按手机上某个按钮,比如长按电源键,长按home键。 长按某个元素或者长按屏幕上某个点,就需要用到TouchAction里面提供的long_press操作了
在用户触摸屏幕时,总是离用户触摸点最近的控件来响应触摸事件,如果最近的控件没有实现响应事件,那这个事件会不断的向父类传递,直到有view响应时,就会将触摸反馈的事件流传递给这个view的onTouchEvent()方法,如下图: 如果CustmoView中不响应onTouchEvent(),那面事件会传递给LayoutView中,如果在LayoutView中响应了onTouchEvent(),那面事件就不会再传递给RootView了。
程序效果是实现一个ListView,ListView里面有标题、内容和图片,并加入单击和长按响应。
回顾整篇文章,发现我们已经实现了RecyclerView的很多扩展功能,包括:打造万能适配器、添加Item事件、添加头视图和尾视图、设置空布局、侧滑拖拽。
本文的代码以图片形式显示,点击图片显示高清图。 前言 下文中Demo的源代码地址:RecyclerViewDemo(Github)。 Demo1: RecyclerView添加HeaderView和FooterView,ItemDecoration范例。 Demo2: ListView实现局部刷新。 Demo3: RecyclerView实现拖拽、侧滑删除。 Demo4: RecyclerView闪屏问题。 Demo5: RecyclerView实现setEmptyView()。 Demo6: Recyc
直接调用listview.setOnItemLongClickListener长按事件
导语 RecyclerView是Android 5.0提出的新UI控件,可以用来代替传统的ListView。 Bugly之前也发过一篇相关文章,讲解了 RecyclerView 与 ListView 在缓存机制上的一些区别: Android ListView 与 RecyclerView 对比浅析--缓存机制 今天精神哥来给大家详细介绍关于 RecyclerView,你需要了解的方方面面。 本文来自腾讯 天天P图团队——damonxia(夏正冬),Android工程师 前言 下文中Demo的源代码地址: h
考虑到是记事本小程序,记录的内容只有文字,而且内容不会太长,所以选择使用SQLite数据库,数据存放在用户的手机上。 牵涉到数据库,那自然是一个实体。先设计实体数据表:DBHelper.java
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。
AdapterView顾名思义是适配器视图,Spinner、ListView和GridView都间接继承自AdapterView,这三个视图都存在多个元素并排展示的情况,所以需要引入适配器模式。 适配器视图的特点有: 1、定义了适配器的设置方法setAdapter,以及获取方法getAdapter。适配器用于传入视图展示需要的相关数据。 2、定义了一个数据观察者AdapterDataSetObserver,用于在列表数据发生变化时,可以通过notifyDataSetChanged方法来更新视图。 3、定义了单个元素的点击、长按、选中事件。其中点击方法为setOnItemClickListener,点击监听器为OnItemClickListener;长按方法为setOnItemLongClickListener,长按监听器为OnItemLongClickListener;选中方法为setOnItemSelectedListener,选中监听器为OnItemSelectedListener。
零、前言 [0.]本案例使用这篇的项目(你也可以用其他的):4-VI--☆ListView的封装支持多种条目 [1].条目点击事件 [2].条目长按事件 [3].滑动事件 [4].条目抢占
本文实例为大家分享了Android仿QQ长按删除弹出框的具体代码,供大家参考,具体内容如下
AppBar(title属性,Text组件; action:动作响应;!!!! titleSpacing:标题文字间距; toolbarOpacity:标题透明度;)
在之前学习ListView的时候,有学习过如何给ListView添加列表头和列表尾。但是通过近几期的学习,发现RecyclerView是一个比ListView更加强大和灵活的组件,今天一起来学习如何给RecyclerView添加首尾视图。 首先来简单回顾一下ListView是如何添加列表头和列表尾的,先定义好首尾视图,然后通过addHeaderView和addFooterView两个方法来加载即可,相对来说比较简单。然后在RecyclerView中并未发现类似的方法,那么应该如何为其添加首尾
群组页是程序内部维护的一个数据库,其中一张表groups,用于存放创建的群组,还有一张表thread_group,用于关联群组和系统短信数据库中的会话。 数据库应该这样设计 MySqliteHelpe
ByRecyclerView 是主要是为了解决XRecyclerView和BRVAH其中的问题而产生的RecyclerView开源库。
相信大家RecyclerView应该不会陌生,大多数开发者应该都使用上它了,它也是google推荐替换ListView的控件,但是用过它的同学应该都知道它在某些方面并没有ListView使用起来方便,需要我们额外的编写代码,今天就给大家介绍一个开源库BaseRecyclerViewAdapterHelper,有了它让你使用RecyclerView的时候,和ListView一样的好用! 那么你要问了,BaseRecyclerViewAdapterHelper能做什么? 优化Adapter代码(减少百分之70%
return true 表示消化掉事件, 事件不会继续传递下去 return false 表示不消化掉事件,事件不会继续传递下去
Android中展示门类信息一般使用列表视图ListView或者网格视图GridView,特别是电商类APP的首页,除了顶部导航、底部标签、上方横幅外,主要页面都是展示各种商品和活动的网格视图。一般情况下GridView就够用了,不过GridView中规中矩,每个网格的大小都是一样的,有时显得有些死板。比如不同商品的外观尺寸很不一样,冰箱是高高的在纵向上长,空调则是在横向上长,所以若用一样规格的网格来展示,必然有的商品图片被压缩得很小。再比如像新闻摘要,每篇摘要的字数都不一样,为了把文字显示完全,也需要对每个网格自适应高度,字数多的网格分配较小的高度,字数较多的网格分配较大的高度。可惜GridView不支持自适配网格高度,所以我们得自己写个瀑布流网格控件来实现这样的效果了。 先来理下瀑布流控件的思路,因为GridView每个网格的宽和高都是一样的,所以无法基于GridView进行改造。如果是ListView,每行高度一样,一行内每个元素的长度是可以自定义的,但每列元素的长度必须一样,所以改造ListView的效果也很有限。改造GridView也不行,改造ListView也不行,看来得换个思路了,把复杂问题简单化试试。例如这个页面上只有四个视图:左上区块0、右上区块1、左下区块2、右下区块3,直接用布局文件xml编写的话也不难,可能大家多半会想到采用相对布局RelativeLayout来处理。
地址 http://blog.csdn.net/xiangyong_1521/article/details/78489254 目录 常见按钮点击 点击的其他方式 对话框按钮点击 列表点击 物理键点击 附 ---- ---- 1. 常见按钮点击 a、单击事件,主要用于Button和ImageButton控件,布局视图与TextView、ImageView控件用的也比较多。相关类名与方法说明如下: 监听器类名 : View.OnClickListener 设置监听器的方法 : setOnClickListe
简化大量重复代码 支持多布局 自定义图片加载 常用数据操作 view复用 RecyclerView item 点击和长按事件 GitHub源码地址 gradle依赖 dependencies { compile 'com.classic.adapter:commonadapter:1.8.1' //项目中使用到RecyclerView,需要添加依赖 compile 'com.android.support:recyclerview-v7:25.3.1' } 开始使用 ListView
https://github.com/LRH1993/AutoFlowLayout
项目结构挺大的电脑加载会很卡,导致第一次build大概半小时,尝试运行,能build success,但是服务器连接失败
在Android开发中,我们常常用到ListView和GridView,而有的时候系统的ListView,GridView并不能满足我们的需求,所以我们需要自己定义一个ListView或者GridView,我的上一篇文章中就是自定义的一个左右滑动删除item的例子,大家有兴趣的可以去看看 Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果,今天这篇文章就给大家来自定义GridView的控件,GridView主要是来显示网格的控件,在Android的开发中使用很普通,相对
在日常的开发中,渲染列表数据,我们都比较喜欢使用 ListTile 挂件,本文,我们来认识下它。
这是一个类似于QQ里面长按消息弹出菜单的效果,菜单跟着item动 闲话不说,上代码 先自定义一个Dialog
listView中提供了两种点击事件的处理方法,分别是OnItemClick和OnItemLongClick。 OnItemClick提供的是点击操作的处理,OnItemLongClick提供的是长按操作的处理。 第一种的单次点击之后,默认跳转到了另外一个Activity,用于显示当前这一行的内容信息。 public class DetailedActivity extends Activity { protected void onCreate(Bundle savedInstanceSta
trailing: 设置拖尾将在列表的末尾放置一个图像。这对于指示主-细节布局特别有用。
本文实例为大家分享了RecycleView实现拖拽交换item位置的具体代码,供大家参考,具体内容如下
菜单是许多应用类型中常见的用户界面组件。要提供熟悉而一致的用户体验,您应使用 Menu API 呈现 Activity 中的用户操作和其他选项。 从 Android 3.0(API 级别 11)开始,采用 Android 技术的设备不必再提供一个专用“菜单”按钮。随着这种改变,Android 应用需摆脱对包含 6 个项目的传统菜单面板的依赖,取而代之的是要提供一个应用栏来呈现常见的用户操作。 尽管某些菜单项的设计和用户体验已发生改变,但定义一系列操作和选项所使用的语义仍是以 Menu API 为基础。本指南将介绍所有 Android 版本系统中三种基本菜单或操作呈现效果的创建方法:
InkResponse 和 InkWell 内部使用了Ink; 可以包裹 不具备事件处理的组件,实现水波纹等点击事件的效果; InkWell 水波纹限制在文本组件之内; InkResponse 水波
#如何使用它? 先在 build.gradle 的 repositories 添加:
和尚昨天刚学习了一下底部状态栏 BottomNavigationBar 的基本使用方法,今天学习一下 ListView 的基本用法。 和尚觉得 **Flutter ** 中 ListView 这个控件很强大,它兼顾了 Android 中的 ScrollView 和 ListView 两个控件的效果,既可以当列表用也可以充当可滑动布局。和尚今天主要测试作为普通列表时的基本用法。
目录介绍 01.拖拽需要实现功能 02.几个重要的方法说明 03.简单实现思路 04.拖拽效果上优化 05.完整代码展示 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计N篇近100万字,陆续搬到网上,转载请注明出处,谢谢! 链接地址:https://g
本文实例讲述了Android ListView实现单选及多选等功能的方法。分享给大家供大家参考,具体如下:
在android系统中使用的是sqlite数据库,前面的简易登录系统已经讲述了数据库的应用。本例的重点是实现数据库与listview的绑定。demo的数据是将个人的信息绑定到listview中,并存在sqlite。 1.person类 1 public class PersonInfo 2 { 3 public PersonInfo() 4 { 5 6 } 7 private String nam
想要弹出内容就可以考虑使用悬浮窗 布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rl_root" android:layout_width="match_parent" android:layout_height="match_parent"
本文实例讲述了Android开发实现可拖动排序的ListView功能。分享给大家供大家参考,具体如下:
本文实例为大家分享了Android仿微信长按菜单展示的具体代码,供大家参考,具体内容如下
列表的数据往往会跟随业务逻辑不断刷新,所呈现出来的数据需要动态更新,那么RecyclerView是如何动态更新数据的呢? 之前在学习ListView的时候如果数据改变,需要调用notifyDa
Android的菜单分为两类:选项菜单和上下文菜单,默认使用选项菜单。菜单的布局文件存放在res/menu目录下,使用ADT新建一个Android工程,首页代码MainActivity中会自动生成onMenuOpened和onMenuItemSelected函数代码。 展示选项菜单的途径有三种: 1、按下菜单键; 2、在代码中手动打开选项菜单,即调用函数openOptionsMenu; 3、按下导航栏右侧溢出菜单按钮,溢出菜单参见《Android开发笔记(二十)顶部导航栏ActionBar》; 下面是选项菜单需要重写的方法: onMenuOpened : 在菜单弹出时调用,一般无需重写 onMenuItemSelected : 在菜单项选择时调用,查看该方法的源码,会发现该方法内部做分支处理,判断如果是选项菜单则调用onOptionsItemSelected,如果是上下文菜单则调用onContextItemSelected。一般无需重写 onCreateOptionsMenu : 在页面打开时调用,需要重写指定菜单项目 onOptionsItemSelected : 在选项菜单的菜单项选中时调用,需要重写对不同菜单项做分支处理 onPrepareOptionsMenu : 在准备打开选项菜单时调用,一般无需重写 onOptionsMenuClosed : 在选项菜单关闭时调用,一般无需重写
1、单击事件,主要用于Button和ImageButton控件,布局视图与TextView、ImageView控件用的也比较多。相关类名与方法说明如下: 监听器类名 : View.OnClickListener 设置监听器的方法 : setOnClickListener 监听器需要重写的点击方法 : onClick 2、长按事件,较少使用,一般长按要么弹出提示对话框,要么弹出上下文菜单(上下文菜单只需注册就好,无需额外处理长按事件)。相关类名与方法说明如下: 监听器类名: View.OnLongClickListener 设置监听器的方法 : setOnLongClickListener 监听器需要重写的点击方法 : onLongClick 3、组合按钮点击事件,一般用于CheckBox控件。相关类名与方法说明如下: 监听器类名 : CompoundButton.OnCheckedChangeListener 设置监听器的方法 : setOnCheckedChangeListener 监听器需要重写的点击方法 : onCheckedChanged 4、单选按钮点击事件,只能用于RadioGroup视图。相关类名与方法说明如下: 监听器类名 : RadioGroup.OnCheckedChangeListener 设置监听器的方法 : setOnCheckedChangeListener 监听器需要重写的点击方法 : onCheckedChanged 常用按钮点击事件的具体实现代码可参考《Android开发笔记(三十七)按钮类控件》。
PS:上一篇文章写了Databinding的简单使用,写了一个绑定textview的示例,和绑定的一些用法,估计有的人会说,之前的写的好好的,为什么要数据绑定这样的写法呢,没办法,社会在进步,当然是怎么好怎么做了。这篇主要是内容是 数据绑定加载网络图片 数据绑定ListView 自定义适配器(数据绑定通用适配器) item中某一个控件点击事件并刷新定位 先说一下数据绑定加载网络图片和本地图片,图片的载体我们都知道用ImageView,但是如果直接把图片通过set的形式传给xml文件的话,数据绑定是无法
前言 之前写过一篇代码动态增删布局的, 对比下这次的RecyclerView增删item, 说句实话, 代码动态增删布局基本可以退群了. ---- 增删item 当然首先你可以按照第一篇-界面无小事(一): RecyclerView+CardView了解一下建立基础的RecyclerView. 这次的关键是在适配器代码中加入增删item的操作. 要注意一点, 刷新和原来在ListView的操作是不一样的. 你可以直接看官方文档, 大致有这几个: notifyItemInserted() noti
ListView是Android软件开发中十分常用也十分重要的一个UI控件。ListView的每一个子项可以是一个简单的字符串,也可以是一组View的组合,开发者完全可以根据自己的需求来定义显示的形式。
RecyclerView是Android在support-v7库中新推出控件,中文别名为循环器视图,它的功能非常强大,可分别实现ListView、GridView,以及瀑布流网格的显示效果。 RecyclerView相关工程在sdk中的路径为sdk\extras\android\support\v7\recyclerview,不过幸好用它不像用Toolbar那样麻烦,要想使用Toolbar得先导入并引用v7-appcompat工程(具体步骤参见《Android开发笔记(一百一十九)工具栏Toolbar》),而使用RecyclerView只需像其他第三方jar一样往libs目录添加android-support-v7-recyclerview.jar就好了。 但是若在Eclipse/ADT中调用RecyclerView,可能app运行时会报错“Caused by: java.lang.NoClassDefFoundError: android.support.v7.recyclerview.R$styleable”,这时就不能使用sdk\extras\android\support\v7\recyclerview下面的jar包,而要到extras/android/m2repository/com/android/support/recyclerview-v7目录下,在版本号21.0.0的子目录中找到recyclerview-v7-21.0.0.aar,该aar文件其实是个压缩文件,解压该文件可得到classes.jar,将该jar包更名并加入到你的工程,上面的运行错误应该就没有了。 下面看看强悍的RecyclerView都提供了哪些常用方法: setAdapter : 设置列表项的适配器。有关适配器的详细说明见下一标题。 setLayoutManager : 设置列表项的布局管理器。目前有三种,分别是:线性布局管理器LinearLayoutManager、网格布局管理器GridLayoutManager、瀑布流网格布局管理器StaggeredGridLayoutManager。有关布局管理器的详细说明见本文的后半部分。 addItemDecoration : 添加列表项的分割线。 removeItemDecoration : 移除列表项的分割线。 setItemAnimator : 设置列表项的增删动画。 addOnItemTouchListener : 添加列表项的触摸监听器。因为RecyclerView没有实现列表项的点击接口,所以开发者可通过这里的触摸监听器来监控用户手势。 removeOnItemTouchListener : 移除列表项的触摸监听器。
【pushAndRemoveUntil与pushNamedAndRemoveUntil区别】
领取专属 10元无门槛券
手把手带您无忧上云