今天还是给大家带来自定义控件的编写,自定义一个ListView的左右滑动删除Item的效果,这个效果之前已经实现过了,有兴趣的可以看下Android 使用Scroller实现绚丽的ListView左右滑动删除...Item效果,之前使用的是滑动类Scroller来实现的,但是看了下通知栏的左右滑动删除效果,确实很棒,当我们滑动Item超过一半的时候,item的透明度就变成了0,我们就知道抬起手指的时候item就被删除了...,当item的透明度不为0的时候,我们抬起手指Item会回到起始位置,这样我们就知道拖动到什么位置item会删除,什么位置Item不删除,用户体验更好了,还有一个效果,就是我们滑动删除了item的时候,...接下来就是手指在屏幕上面滑动的处理方法handleActionMove(),这个方法就稍微的复杂些,我们需要根据手指在X轴的滑动距离和Y轴的滑动距离来判断是ListView item的水平滑动还是ListView...的左右滑动删除item的效果啦,但是还有一个效果,item删除之后,ListView的其他item向上或者向下缓缓滑动的效果,实现这个也很容易,就是动态设置item的高度,item高度逐渐变小,这样其他的
由于数据较少,如果listview滑动感觉不怎么美观,于是想要Listview禁止滑动,其实也很简单,只要拦截listview的Ontouch事件就可以了具体代码如下:`ListView lv = (ListView...) findViewById(R.id.listView); lv.setOnTouchListener(new OnTouchListener() { @Override...default: break; } return true; } });` 这样处理就能禁止listview...的滑动了 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163274.html原文链接:https://javaforall.cn
SCROLL_STATE_TOUCH_SCROLL是当用户在以触屏方式滚动屏幕并且手指仍然还在屏幕上时 SCROLL_STATE_FLING是当用户由于之前划动屏幕并抬起手指,屏产生惯性滑动时...*/ private boolean scrollFlag = false;// 标记是否滑动 private int lastVisibleItemPosition;// 标记上次滑动位置...listView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged
无论是SingleChildScrollView、NestedScrollView还是CustomScrollView,在嵌套ListView或其他可以滑动的widget的时候,导致滑动冲突或卡顿等,...是因为二者都有可滑动属性,所以解决办法就是禁掉二者其一的滑动,一般选择子widget即ListView。
ListBean> list = new ArrayList(); ListBean listBean = new ListBean(R.mipmap.one, "标题头", "内容内容", "删除...list.add(listBean); ListBean listBean1 = new ListBean(R.mipmap.ic_launcher, "今天", "内容内容", "删除...list.add(listBean1); ListBean listBean2 = new ListBean(R.mipmap.image, "明天", "内容内容", "删除...list.add(listBean2); ListBean listBean3 = new ListBean(R.mipmap.photo, "后天", "内容内容", "删除..."); list.add(listBean3); final ListView listView = findViewById(R.id.list);
直接调用listview.setOnItemLongClickListener长按事件 listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener...; builder.setMessage("确定删除?")...DialogInterface dialog, int which) { boolean isSuccess; // 删除...listView选择item的同时删除数据库中对应的信息 Database database = new Database(Activity10.this...show(); } else { Toast.makeText(Activity10.this, "删除失败
效果 构建List body: ListView.builder( itemCount: articleDatas.length, itemBuilder: (BuildContext...添加滑动 官方有一个Dismissible Widget,包裹住item即可实现滑动效果。...final item = articleDatas[position]; return Dismissible( // 滑动背景色...context).primaryColor), // 设置key标识 key: new Key(item.title), // 滑动回调...github.com/yechaoa/wanandroid_flutter 官方文档:https://flutter.dev/docs/cookbook/gestures/dismissible 滑出来点击再删除推荐
我们在开发过程中 用到listview控件的时候,会碰到这样的一个小问题,就是 上下滑动的时候 会发现 上面的下面的边上会有阴影,那么怎么去掉这个阴影呢?...就类似这样的 ,很简单 在listview中 设置属性 android:background="@color/white" 和android:cacheColorHint="#00000000..." ListView android:id="@+id/listview1" android:layout_width="fill_parent" ...="300dip" android:background="@color/white" android:cacheColorHint="#00000000" > ListView
本文试着采用 NestedScrollView 嵌套 ListView的方法来实现折叠效果。具体结果如图所示: ?...parallax视差效果 将 app:layout_behavior="@string/appbar_scrolling_view_behavior"指定给NestedScrollView,即当该控件滑动的时候...解决NestedScrollView嵌套listView问题。 貌似网上一抓一大把,本文采用其中之一方案,复写listView。...public class NoScrollListView extends ListView { public NoScrollListView(Context context) {...MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } } 解决NestedScrollView嵌套的listView
slideDeleteListView:1.0.0' 布局中: <hlq.com.slidedeletelistview.SlideDeleteListView android:id="@+id/listview...android:layout_width="match_parent" android:layout_height="match_parent"/> 其他属性和普通listview
Android滑动删除控件 效果展示 代码实现 静态布局 自定义一个ViewGroup,继承至FrameLayout,覆写其中的几个关键方法,用于给其中的两个子view设置布局位置。...deleteView.layout(contentViewWidth, 0, contentViewWidth + deleteViewWidth, deleteViewHeight); } 处理滑动逻辑...需要我们制定什么时候滑动,以及滑动多少。 需要把ViewGroup中受到的触摸事件传给ViewDragHelper实例。...ViewCompat.postInvalidateOnAnimation(SwipeView.this); //刷新当前view } } ListView...中的滑动删除效果 完整代码 github
之前在使用listview进行每次通知一来,根据判断是否有这个标志,就更新listview所绑定的数据源,通知更新priceAd.notifyDataSetChanged();,也用了网上的建议使用viewHolder...进行listview的item复用机制,但还是会出现卡顿的现象,经过分析,原来是listview的item布局嵌套太多,导致刷新的时候,重绘过多,造成卡顿的现象,以下是另一片博客的分析贴出来,大家讨论感谢这位前辈...当发现初始化adapter的时候正常调用之后,我们再来尝试滑动listview,发现每出现一个item,当前视图显示的item又调用了一次getview,通过刚哥的这篇帖子,定位到问题在我的getview...附带刚哥的listview卡顿终极解决方案原帖:刚哥的Listview卡顿终极解决方案。...android:visibility="gone" /> 将android:layout_width都改成fill_parent,并且将linearLayout都删除掉
滑动去存档,也可以滑动删除。 那作为Google 自家出品的Flutter,当然也会有这种组件。...child不必多说,就是我们需要滑动删除的组件,那key是什么? 后续我会出一篇关于 Flutter Key 的文章来详细解释一下什么是 Key。...,在ListView 的 item中用 Dismissible 包起来。...添加删除逻辑 // 创建ListView Widget _createListView() { return ListView.builder( itemCount: _listData.length...}); }, 增加视觉效果 虽然我们处理了删除后的逻辑,但是我们在滑动的时候,用户还是不知道我们在干什么。
官网地址:uni-app官网 (dcloud.net.cn) 最终效果如下图: 滑动删除需要用到 uni-ui 的 uni-swipe-action 组件和 uni-swipe-action-item...-- uni-swipe-action-item 可以为其子节点提供滑动操作的效果。...options: [{ text: '删除', // 显示的文本内容 style: { backgroundColor:...'#C00000' // 按钮的背景颜色 } }] } }, 可用的事件:【我们需要的是滑动点击删除,用了 @click 事件,并传递 货品...position (位置信息)@change组件打开或关闭时触发left:左侧 ,right:右侧,none:关闭 得到下面的效果图: 使用 filter 方法,使返回值为 不存在 刚刚传进来滑动删除
解决的问题有两个: 1)实现水平滑动的ListView。...android.widget.AdapterView; import android.widget.ListAdapter; import android.widget.Scroller; /** * 重写ListView...,以达到水平滑动 */ public class HorizontalListView extends AdapterView { public...,往往我们会把这个水平ListView放到ScrollView里面(见截图实现),而这两个控件恰好滑动会有冲突,滑动水平ListView时会有卡顿,因此重写ScrollView,以达到流畅滑动: Java...android.view.View; import android.widget.ScrollView; /** * 重写ScrollView,以解决ScrollView与水平listView
但是在ScrollView+ListView的布局画好后,发现整个界面都无法滚动,而且ListView只显示了第一条元素。...问题分析: 由上面那个提示可以看到,正常情况下ScrollView下是不允许再包含一个可滑动的View的,为什么呢?...查询很多资料后,得到了这个解决办法: 一种解决办法: 有网友试过,将ListView的layout_height设置为一个定值,比如说400dp,就可以有滑动的效果。...但是ListView只能显示部分元素,这不是我们想要的结果。 所以就需要一种方法可以根据ListView中Item数量,动态设置ListView的height,使全部item得到显示。...) + listView.getPaddingTop() + listView.getPaddingBottom(); listView.setLayoutParams(params);
不可滑动的ListView (RecyclweView类似) public class NoScrollListView extends ListView { public NoScrollListView...super.onMeasure(widthMeasureSpec, mExpandSpec); } } 用于情况: 社交,社区APP ,例如 QQ空间,一条说说,说说下面的评论用不可滑动的...ListView来展示 -----------------------------------------------------------------------------------------...---------------------------- 不可滑动的GridView public class NonScrollGridView extends GridView { public
1.灰色覆盖,或者有一层颜色在上面 这个问题应该是 你给listView加了风格,或者给当前的Window加了风格,因为surfaceView,如果你不设置,应该也有一个默认的颜色值 在listView...滑动的时候,每个item应该是都会被重绘的,至少layout事件会走的,导致了surface上面有一层颜色,这个是第一个问题, 2.ListView里面出现视频画面残留 这个问题很尴尬,也是在listView...在滑动的时候,但是视频又在播放,而且如果你有切换横竖屏的话,这个问题将变得尤为严重, 具体的原因应该是这样的:本来surfaceView是在item上的,item是一个view,这个播放视频的时候,是由...然后是如果不发生横竖屏切换,也会有残影留下来,是为什么,我想了下原因: 是因为surfaceView他有个特点,当你从window上拿到一个区域的时候,这个区域有些限制, 最显著的特点就是:window给你的区域,你不能滑动...,不能平移,不能放大缩小,等等, 因为你申请的surfaceView就只有那么大,不能像平常普通的view一样随便的改变大小,位置,透明度,等等, 那么你在listView滑动的时候,虽然item变了,
接下来的文章会以ListView为切入点,简单说下Qt Model/View与一些窗口部件的联系。 本Demo是通过ListView刷新指定文件夹下的文件,并可以根据用户的选择删除文件。...->setModel(&m_fileModel); ui->listView->setViewMode(QListView::IconMode); //ListMode ui->listView...刷新文件的槽: ①文件模型设置文件路径 ②ListView设置模型种类 ③ListView设置显示视图种类,列表或是图标 ④ListView设置索引,说实话,目前不大懂。。。...删除文件的槽: 获取当前选中文件的索引, 通过currentIndex.sibling(currentIndex.row(),0).data().toString()获取文件名。...使用QFile来删除文件。 程序运行结果: ①执行结果界面 ? ②刷新按钮结果 ? ③删除文件询问 ? ④删除文件结果 ? 刚开始使用 model/view,有不妥的地方望大家见谅。
ScrollView中嵌套listview时,当listview自动加载时,会自动滑动到scrollview到底部。...解决办法 一、 在ListView加载数据完成时候: list_view.post { scrollView.smoothScrollTo(0,0)} 二、 在ListView的父节点上添加属性:
领取专属 10元无门槛券
手把手带您无忧上云