可拖拽listview基本使用技巧(dragsortlistview)

yuanyuan_815 yuanyuan_815     2023-02-10     722

关键词:

可拖拽的listview,DragSortListView这是gitHub上的一个开源项目。链接点击打开链接。这个开源控件主要是为了实现listview的 item上下拖拽效果以便达到美化界面的作用。

      先来看三张效果图。

     

 第一张为初始的DragSortListView效果图。再来看下面拖动效果的。



这张就是在点击item右端黑色按钮后的拖动效果(看起来还不错的样子。。。。。。)




     最后拖动结束item位置互换。


 


基本用法

 

1 布局。

       先来看主界面布局。

[html]  view plain copy
  1. <LinearLayout  
  2.     xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     xmlns:dslv="http://schemas.android.com/apk/res/com.mobeta.android.demodslv"      
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="match_parent"  
  6.     android:orientation="vertical">  
  7.       
  8.        
  9.   
  10.     <com.mobeta.android.dslv.DragSortListView   
  11.         android:id="@+id/dslvList"  
  12.         android:layout_width="match_parent"  
  13.         android:layout_height="0dp"  
  14.         android:layout_weight="1.0"  
  15.         android:layout_margin="3dp"  
  16.         android:dividerHeight="1px"  
  17.         android:padding="3dp"  
  18.         dslv:click_remove_id="@id/click_remove"  
  19.         dslv:collapsed_height="1px"  
  20.         dslv:drag_enabled="true"  
  21.         dslv:drag_handle_id="@id/drag_handle"  
  22.         dslv:drag_scroll_start="0.33"  
  23.         dslv:drag_start_mode="onDown"  
  24.         dslv:float_alpha="0.6"  
  25.         dslv:remove_enabled="true"  
  26.         dslv:remove_mode="clickRemove"  
  27.         dslv:slide_shuffle_speed="0.3" />   
  28.     
  29. </LinearLayout>      

 这里重点讲一下 click_remove_id  和drag_handle_id 这两个属性。这两个属性的值,分别是左边红色删除按钮和最右边拖动按钮的id。

 

接下来是item布局

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="50dp"  
  6.     android:background="#ffffff"  
  7.     android:padding="10dp">  
  8.       
  9.     <ImageView  
  10.         android:id="@id/click_remove"  
  11.         android:background="@drawable/delete_x"  
  12.         android:layout_width="40dp"  
  13.         android:layout_height="40dp"  
  14.         android:layout_alignParentLeft="true"   
  15.         android:layout_centerVertical="true"  
  16.         android:layout_marginRight="10dp"/>  
  17.       
  18.     <ImageView  
  19.         android:id="@+id/ivCountryLogo"  
  20.         android:layout_width="wrap_content"  
  21.         android:layout_height="wrap_content"  
  22.         android:layout_toRightOf="@id/click_remove"  
  23.             />         
  24.     <TextView  
  25.         android:id="@+id/tvTitle"  
  26.         android:layout_width="wrap_content"  
  27.         android:layout_height="wrap_content"  
  28.         android:padding="15dp"  
  29.         android:textColor="#000000"  
  30.         android:text="name"   
  31.         android:layout_toRightOf="@id/ivCountryLogo"/>  
  32.       
  33.     <ImageView  
  34.         android:id="@id/drag_handle"  
  35.         android:background="#000000"  
  36.         android:layout_width="40dp"  
  37.         android:layout_height="40dp"   
  38.         android:layout_alignParentRight="true"  
  39.         android:layout_centerVertical="true"  
  40.         />  
  41. </RelativeLayout>  

这里没什么好讲的。


接下来将重点内容。适配器和编写和DragSortListView的设置。

[java]  view plain copy 派生<h3>android高级控件——自定义listview高仿一个qq可拖拽列表的实现</h3>
<p>Android高级控件(六)——自定义ListView高仿一个QQ可拖拽列表的实现我们做一些好友列表或者商品列表的时候,居多的需求可能就是需要列表拖拽了,而我们选择了ListView,也是因为使用ListView太久远了,导致对他已经有浓厚的感...  <a style=查看详情

jquery可拖拽3d万花筒旋转特效

这是一个使用了CSS3立体效果的强大特效,本特效使用jQuery跟CSS3transform来实现在用户鼠标按下拖动时,环形图片墙可以跟随鼠标进行3D旋转动画。效果体验:http://hovertree.com/texiao/jquery/92/进去后可以上下左右的拖动图片。本示例中... 查看详情

jquery可拖拽3d万花筒旋转特效

这是一个使用了CSS3立体效果的强大特效,本特效使用jQuery跟CSS3transform来实现在用户鼠标按下拖动时,环形图片墙可以跟随鼠标进行3D旋转动画。效果体验:http://hovertree.com/texiao/jquery/92/进去后可以上下左右的拖动图片。本示例中... 查看详情

jquery可拖拽3d万花筒旋转特效

这是一个使用了CSS3立体效果的强大特效,本特效使用jQuery跟CSS3transform来实现在用户鼠标按下拖动时,环形图片墙可以跟随鼠标进行3D旋转动画。效果体验:http://hovertree.com/texiao/jquery/92/进去后可以上下左右的拖动图片。本示例中... 查看详情

jquery可拖拽3d万花筒旋转特效

这是一个使用了CSS3立体效果的强大特效,本特效使用jQuery跟CSS3transform来实现在用户鼠标按下拖动时,环形图片墙可以跟随鼠标进行3D旋转动画。效果体验:http://hovertree.com/texiao/jquery/92/进去后可以上下左右的拖动图片。本示例中... 查看详情

zdialog可拖拽弹出层

zDialog弹出框:代替window.open、window.alert、window.confirm;提供良好的用户体验;水晶质感,设计细腻,外观漂亮;兼容ie6/7/8、firefox2/3、Opera;弹出框在ie6下不会被select控件穿透;无外部css文件,引用Dialog.js即可使用;对iframe下的应... 查看详情

nestable可拖拽树

...wangmj518/article/details/81746523 Nestable是基于Bootstrap的一个可拖拽的树结构表现插件。下面粗略的介绍一下它的用法,只作为学习参考,如有不合适之处,请各位凑合看。下图是我在现在系统中用到的Nestable,对系统模块排序。&nbs... 查看详情

h5拖拽,直接指对象设置可拖拽

...拖放是标准的一部分,任何元素都能够拖放。设置元素为可拖放首先,为了使元素可拖动,把draggable属性设置为true:<imgdraggable="true"/> 拖动什么-ondragstart和setData()然后 查看详情

elementui可拖拽dialog-vue2(代码片段)

文章目录1.准备js1.1`dialog-drag.js`1.2`index.js`2.`main.js`引用自定义指令3.使用1.准备js1.1dialog-drag.jsimportVuefrom'vue'/**使用方法*将以下代码复制到一个js文件中,然后在入口文件main.js中import引入即可; 查看详情

117可拖拽弹窗

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title><style>*padding:0;margin:0;html,bodyheight:100%;.outerBoxwidth:100%;height 查看详情

弹出框组件,可拖拽

/***弹出框组件*/(function($){varUtils={showMask:function(){var$mask=$("#mask");if($mask.length===0){$(‘body‘).prepend("<divid=‘mask‘class=‘mask‘></div>");}$("#mask").css({width:Math.max(documen 查看详情

js实现可拖拽的div

实现一个div可以被拖拽,代码如下所示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>zzw_drap</title><style>*{margin:0;padding:0;}#box{position:absolute;top:100 查看详情

版主请进jquery.datatables怎么自定义某列宽度可拖拽

参考技术Ajquerydatatables自带的查询没有这些功能.要完成你要的功能,需要改写插件.改这个控件,还不如直接使用flexigrid本回答被提问者和网友采纳 查看详情

移动端可拖拽的进度条

 原生js  移动端可拖拽的进度条效果图:代码:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>干货-课程-完成</title><style>ul.lanren{margin:100pxauto;}.scal 查看详情

可拖拽和带预览图的jquery文件上传插件ssi-uploader

插件描述:ssi-uploader是一款带预览图并且可以拖拽文件的jQueryajax文件上传插件。该文件上传插件支持AJAX,支持多文件上传,可控制上的文件格式和文件大小,提供各种回调函数,使用非常方便。简要教程ssi-uploader是一款带预览... 查看详情

可拖拽bottomsheetviewcontroller(代码片段)

当我们想弹出一个预览视图,bottomsheetmodalviewcontroller非常实用。在iOS中,长按拖拽手势可以让controller上滑或者向下消失。实现原理是,通过监听拖拽事件,动态改变view之间的autolayout约束,并加上少许动画。... 查看详情

android可拖拽view的简单实现(代码片段)

其实Android可拖拽View实现起来很简单,最简单的就是实现View的setOnTouchListener方法。下面这段代码就实现了如下两个功能:1、View随着手指的拖动儿拖动。2、当松开手指的时候,如果View在屏幕的右半边,则自动让其贴到屏幕右边... 查看详情

android可拖拽view的简单实现(代码片段)

其实Android可拖拽View实现起来很简单,最简单的就是实现View的setOnTouchListener方法。下面这段代码就实现了如下两个功能:1、View随着手指的拖动儿拖动。2、当松开手指的时候,如果View在屏幕的右半边,则自动让其贴到屏幕右边... 查看详情