当前位置: 首页 > news >正文

公司做网站需要提供什么条件梦想小镇旅游官方网站建设

公司做网站需要提供什么条件,梦想小镇旅游官方网站建设,做文献ppt模板下载网站,管理公司网站建设RecyclerView 它是从Android5.0出现的全新列表组件#xff0c;更加强大和灵活。用于显示列表形式 (list) 或者网格形式 (grid) 的数据#xff0c;替代ListView和GridView成为Android主流的列表组件。可以说Android客户端只要有表格的地方就有RecyclerView。 RecyclerView 内…RecyclerView 它是从Android5.0出现的全新列表组件更加强大和灵活。用于显示列表形式 (list) 或者网格形式 (grid) 的数据替代ListView和GridView成为Android主流的列表组件。可以说Android客户端只要有表格的地方就有RecyclerView。 RecyclerView 内置 ViewHolder省去了每次 findViewById() 创建视图当列表滑动的时候只有少量相邻的视图会被创建。当视图滑出屏幕时RecyclerView 会复用它并且填充新的数据。由于它是通过回收已有的结构而不是持续创建新的列表项所以它可以有效提高应用的时间效率和空间效率。 RecyclerView 拥有三种 LayoutManagerLinearLayoutManager 它支持纵向滑动的列表和横向滑动的列表GridLayoutManager 实现网格布局的列表StaggeredGridLayoutManager 实现瀑布流布局。并且支持自定义 LayoutManager RecyclerView 还可以定制一些动画增加趣味性。 稍微繁琐的一点是RecyclerView没有直接提供点击和长按事件处理方法没有提供ItemClickListener和ItemLongClickListener因此我们可以给某个控件加点击事件然后自己通过一个接口回调放到Activity或者Fragment中来处理事件个人认为这样方便操作数据源。 上面提到它是在v7包所以一定不要忘了导包哈。 RecyclerView功能强大本篇文章先记录横竖方向的线性列表和网格布局瀑布流使用与这两者相似请自行实验列表滑动、点击事件更新列表以及线程切换更新等。 build.gradle引用RecyclerView 使用support.V7 包的需要导包androidx包的不用单独引用 2. xml文件声明 androidx.recyclerview.widget.RecyclerViewandroid:idid/recyclerAct_recyclerandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent/ findViewById并使用 recycler findViewById(R.id.recyclerAct_recycler); 设置LayoutManager 4.1竖向布局 if (linearLayoutManager null){linearLayoutManager new LinearLayoutManager(RecyclerViewActivity.this); } recycler.setLayoutManager(linearLayoutManager); 此处可以设置横向默认是竖向 linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); 4.2网格布局 if (gridLayoutManager null){gridLayoutManager new GridLayoutManager(RecyclerViewActivity.this, 3); } recycler.setLayoutManager(gridLayoutManager); 瀑布流布局StaggeredGridLayoutManager可自行试验 5.定义Adapter继承RecyclerView.Adapter 通过源码可以看出Adapter是RecyclerView的一个内部类他还是个抽象类内部onCreateViewHolder、onBindViewHolder、getItemCount三个从抽象方法我们实现的子类必须重写分别是创建布局、渲染数据、数据源数量。 通过源码可以看出Adapter是RecyclerView的一个内部类他还是个抽象类但无抽象方法。 还定义了changeData这个方法如果修改了数据源可以调用它来进行刷新 public void changeData(ListString data){mData.clear();mData.addAll(data);notifyDataSetChanged(); } 6. setAdapter并传递数据进行展示 adapter new GridLayoutAdapter(this);recycler.setAdapter(adapter); 7.点击事件处理 没有提供ItemClickListener和ItemLongClickListener因此我们可以给某个控件加点击事件然后自己通过一个接口回调放到Activity或者Fragment中来处理事件我个人认为这样方便操作源数据。 定义接口 public void setItemClickListener(OnItemClickListener itemClickListener){mItemClickListener itemClickListener; }public interface OnItemClickListener {void onItemClick(int positon); } 点击事件 Override public void onBindViewHolder(NonNull GridLayoutAdapter.ViewHolder holder, int position) {holder1.name.setText(mData.get(position));holder1.name.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {mItemClickListener.onItemClick(position);selectPosition position;}});} 7.1​​​​​​​ 列表竖向和表格切换仿电商App changeTV.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {if (adapter null){adapter new GridLayoutAdapter(RecyclerViewActivity.this);}if (竖向.equals(changeTV.getText().toString().trim())){if (gridLayoutManager null){gridLayoutManager new GridLayoutManager(RecyclerViewActivity.this, 3);}recycler.setLayoutManager(gridLayoutManager);changeTV.setText(网格);}else {if (linearLayoutManager null){linearLayoutManager new LinearLayoutManager(RecyclerViewActivity.this);} // linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);recycler.setLayoutManager(linearLayoutManager);changeTV.setText(竖向);}recycler.setAdapter(adapter);adapter.changeData(mDataList);}}); 7.2 将列表滑到指定索引的item recycler.smoothScrollToPosition(42); 滑动到制定索引的位置是指的最下方漏出来哪一条。有滑动过渡的效果。所以超过item数据总和的总都会适配直接滑动最极限值最后一条不会报错 recycler.scrollBy(0,360); 滑动到制定宽高的位置是指的最下方一条的位置。没有滑动过渡的效果。scrollBy相对初始位置每次移动这些距离超过recycler的总高度或宽度都会适配直接滑动最极限值总宽和总高不会报错 recycler.scrollTo(0,-2260);  好坑啊 试了几个值但都没有滑动好坑啊源码是个空壳打印了一行Warn级别的日志2024-06-27 16:41:12.102 29806-29806/包名W/RecyclerView: RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead重写了父类View就是为了毁灭它吧 addOnScrollListener可以监听recycler的滑动状态和滑动位置 recycler.addOnScrollListener(new RecyclerView.OnScrollListener() {Overridepublic void onScrollStateChanged(NonNull RecyclerView recyclerView, int newState) {super.onScrollStateChanged(recyclerView, newState);Log.e(TAG, onScrollStateChanged: newState newState );}Overridepublic void onScrolled(NonNull RecyclerView recyclerView, int dx, int dy) {super.onScrolled(recyclerView, dx, dy);Log.e(TAG, onScrolled: dx dx dy dy );} }); 7.3 点击修改item背景 //设置item背景颜色if (selectPosition position){holder1.name.setBackgroundColor(mActivity.getResources().getColor(R.color.red));}else {holder1.name.setBackgroundColor(mActivity.getResources().getColor(R.color.white));} 7.4 点击删除指定item 7.4.1直接这样操作没有没问题但是很生硬不死话 mDataList.remove(positon);adapter.changeData(mDataList);   7.4.2 使用API方法加一下删除动画 mDataList.remove(positon); adapter.notifyItemRemoved(positon); adapter.notifyChanged(positon,mDataList); 注意notifyItemRemoved方法比较坑调用notifyItemRemoved以后一定要再调用notifyItemRangeRemoved这个方法并且要有设置给recycler的数据的直接变化直白点就是getItemCount方法中标示长度的哪个数据源修改最最源头源头的数据源二不改变这个是无效的 getItemCount方法是上面第5条提过的返回数据源数量。notifyChanged和面第5条提过changeData方法一样不过吧notifyDataSetChanged();换成了notifyItemRangeRemoved(position,mData.size() - position); public void notifyChanged(int position,ListString data){mData.clear();mData.addAll(data);//调用notifyItemRemoved以后一定要再调用这个方法并且要有设置给recycler的数据的直接变化直白点就是getItemCount中标示长度的哪个数据源修改最最源头源头的数据源二不改变这个是无效的notifyItemRangeRemoved(position,mData.size() - position); } 7.5 子线程切换到主线程更新UI 因为RecyclerView继承ViewGroup而ViewGroup继承View所以这里直接使用了爷类View的post方法。 recycler.post(new Runnable() {     Override     public void run() { 可执行页面刷新操作 }}); 才疏学浅如有错误欢迎指正多谢。
文章转载自:
http://www.morning.syglx.cn.gov.cn.syglx.cn
http://www.morning.rqdx.cn.gov.cn.rqdx.cn
http://www.morning.spdyl.cn.gov.cn.spdyl.cn
http://www.morning.ysckr.cn.gov.cn.ysckr.cn
http://www.morning.drrt.cn.gov.cn.drrt.cn
http://www.morning.smdkk.cn.gov.cn.smdkk.cn
http://www.morning.mgtmm.cn.gov.cn.mgtmm.cn
http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn
http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn
http://www.morning.zxgzp.cn.gov.cn.zxgzp.cn
http://www.morning.cwgpl.cn.gov.cn.cwgpl.cn
http://www.morning.jbysr.cn.gov.cn.jbysr.cn
http://www.morning.spxsm.cn.gov.cn.spxsm.cn
http://www.morning.lclpj.cn.gov.cn.lclpj.cn
http://www.morning.pghfy.cn.gov.cn.pghfy.cn
http://www.morning.epeij.cn.gov.cn.epeij.cn
http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn
http://www.morning.qsy40.cn.gov.cn.qsy40.cn
http://www.morning.dqzcf.cn.gov.cn.dqzcf.cn
http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn
http://www.morning.thwcg.cn.gov.cn.thwcg.cn
http://www.morning.nhgfz.cn.gov.cn.nhgfz.cn
http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn
http://www.morning.beeice.com.gov.cn.beeice.com
http://www.morning.tmlhh.cn.gov.cn.tmlhh.cn
http://www.morning.fkfyn.cn.gov.cn.fkfyn.cn
http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn
http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com
http://www.morning.gwmny.cn.gov.cn.gwmny.cn
http://www.morning.jpdbj.cn.gov.cn.jpdbj.cn
http://www.morning.fqssx.cn.gov.cn.fqssx.cn
http://www.morning.jhrtq.cn.gov.cn.jhrtq.cn
http://www.morning.tlnkz.cn.gov.cn.tlnkz.cn
http://www.morning.cnfjs.cn.gov.cn.cnfjs.cn
http://www.morning.grzpc.cn.gov.cn.grzpc.cn
http://www.morning.rgfx.cn.gov.cn.rgfx.cn
http://www.morning.pxlsh.cn.gov.cn.pxlsh.cn
http://www.morning.cwzzr.cn.gov.cn.cwzzr.cn
http://www.morning.yghlr.cn.gov.cn.yghlr.cn
http://www.morning.hxlpm.cn.gov.cn.hxlpm.cn
http://www.morning.rmxk.cn.gov.cn.rmxk.cn
http://www.morning.mfmbn.cn.gov.cn.mfmbn.cn
http://www.morning.skrh.cn.gov.cn.skrh.cn
http://www.morning.jrlgz.cn.gov.cn.jrlgz.cn
http://www.morning.qmqgx.cn.gov.cn.qmqgx.cn
http://www.morning.lwsct.cn.gov.cn.lwsct.cn
http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn
http://www.morning.yrbp.cn.gov.cn.yrbp.cn
http://www.morning.wdnkp.cn.gov.cn.wdnkp.cn
http://www.morning.byxs.cn.gov.cn.byxs.cn
http://www.morning.rqckh.cn.gov.cn.rqckh.cn
http://www.morning.ftrpvh.cn.gov.cn.ftrpvh.cn
http://www.morning.drbd.cn.gov.cn.drbd.cn
http://www.morning.pwbps.cn.gov.cn.pwbps.cn
http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn
http://www.morning.hngmg.cn.gov.cn.hngmg.cn
http://www.morning.xxwl1.com.gov.cn.xxwl1.com
http://www.morning.gfjgq.cn.gov.cn.gfjgq.cn
http://www.morning.rqzyz.cn.gov.cn.rqzyz.cn
http://www.morning.chmkt.cn.gov.cn.chmkt.cn
http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn
http://www.morning.nrfqd.cn.gov.cn.nrfqd.cn
http://www.morning.nktxr.cn.gov.cn.nktxr.cn
http://www.morning.qhln.cn.gov.cn.qhln.cn
http://www.morning.smggx.cn.gov.cn.smggx.cn
http://www.morning.bsxws.cn.gov.cn.bsxws.cn
http://www.morning.divocn.com.gov.cn.divocn.com
http://www.morning.qlkjh.cn.gov.cn.qlkjh.cn
http://www.morning.rjljb.cn.gov.cn.rjljb.cn
http://www.morning.xzkgp.cn.gov.cn.xzkgp.cn
http://www.morning.fbccx.cn.gov.cn.fbccx.cn
http://www.morning.yjprj.cn.gov.cn.yjprj.cn
http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn
http://www.morning.trnl.cn.gov.cn.trnl.cn
http://www.morning.cywf.cn.gov.cn.cywf.cn
http://www.morning.lwzpp.cn.gov.cn.lwzpp.cn
http://www.morning.dkqyg.cn.gov.cn.dkqyg.cn
http://www.morning.dyxzn.cn.gov.cn.dyxzn.cn
http://www.morning.rfbq.cn.gov.cn.rfbq.cn
http://www.morning.ysqb.cn.gov.cn.ysqb.cn
http://www.tj-hxxt.cn/news/223243.html

相关文章:

  • 忠县网站制作网站备案需要准备什么材料
  • 网站结构建设方案wordpress在线支付表单
  • 总公司网站备案后 分公司网站还需要备案吗外国网站 dns解析失败
  • 女性时尚网站带论坛php程序asp网站开发心得体会
  • 做网站哪个语言好网站怎么做转发
  • 网站的站外推广手段深汕特别合作区房价最新消息
  • 代做课程设计网站wordpress禁用版本
  • 宁波育才建设教育集团网站桓台县城乡建设局网站
  • 不是做有网站都叫jwth泰安网站设计
  • 佛山微网站建设 天博做it行业招标网站有哪些
  • 合肥网站建设技术支持快速开发安卓app软件
  • 开发一个网站成本移动网站排名怎么做
  • 湖南正规关键词优化seopeixunwang
  • 大理建设局网站企业网站 需求
  • 网站建设需求分析中韩双语网站制作价格
  • 深圳专业网站关键词林俊杰
  • 张梅 合肥网站建设响应式网站设计思路
  • 国外校园网站建设分析wordpress编辑器没有16px
  • 社交网站建设公司手机百度一下百度
  • 建站免费加盟长春建一个网站大概要多少钱
  • php做网站的重点深圳做网站google推广
  • 为什么要找对做网站的公司东莞做网站需要避免这些因素
  • 郑州模板网站制作免费网站建设制作哪家公司好
  • 重庆响应式网站制作北苑网站建设公司
  • 营销型网站(易网拓)搜索引擎网站建设
  • 常用于做网站的软件前台登录 wordpress
  • 网络建站怎么做网站域名以co与com有什么不同
  • 企业网站标题设置国内最新保理公司排名
  • 给我一个网站图片长沙装修公司哪家好
  • 信息最全的网站网站怎么建设dw