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

Posted yuanyuan_815

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可拖拽listview基本使用技巧(DragSortListView)相关的知识,希望对你有一定的参考价值。

可拖拽的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 派生<p>以上是关于可拖拽listview基本使用技巧(DragSortListView)的主要内容,如果未能解决你的问题,请参考以下文章</p> 
<p > <a style=Android高级控件——自定义ListView高仿一个QQ可拖拽列表的实现

React-Native ListView拖拽交换Item

android可拖拽悬浮控件和Kotlin的可拖拽悬浮控件/可拖拽悬浮按钮带Demo附件

android可拖拽悬浮控件和Kotlin的可拖拽悬浮控件/可拖拽悬浮按钮带Demo附件

React-Native ListView拖拽交换Item

React-Native ListView拖拽交换Item