android item可拖动,SlideAndDragListView

SlideAndDragListView

SlideAndDragListView,可排序、可滑动item显示”菜单”的ListView。

0dd7d31c76808680077b8bb4336feebf.gif

drag.gif

Overview

SlideAndDragListView(SDLV)继承于Android的ListView,SDLV可以拖动item到SDLV的任意位置,其中包括了拖动item往上滑和往下滑;SDLV可以向右滑动item,像Android的QQ那样(QQ是向左滑),然后显现出来"菜单”之类的按钮。

优秀的特性:

简洁明了的拖动操作.

直观流畅的滚动,拖动或滑动.

支持 onItemClick 和 onItemLongClick 监听器.

公开的回调事件.

等等...

SlideAndDragListView is useful for all kinds of prioritized lists: favorites, playlists, checklists, etc. Would love to hear about your use case or app by email. I hope you find it useful; and please, help me improve the thing!

Github

Blog

Widget Usage

XML usage

xmlns:sdlv="http://schemas.android.com/apk/res-auto"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:divider="@android:color/black"

android:dividerHeight="0.5dip"

android:paddingLeft="8dip"

android:paddingRight="8dip"

sdlv:item_background="@android:color/white"

sdlv:item_btn1_background="@drawable/btn1_drawable"

sdlv:item_btn1_text="Delete1"

sdlv:item_btn2_background="@drawable/btn2_drawable"

sdlv:item_btn2_text="Rename1"

sdlv:item_btn_number="2"

sdlv:item_btn_text_color="#ffffff"

sdlv:item_btn_text_size="8sp"

sdlv:item_btn_width="70dip"

sdlv:item_height="80dip">

XML attributes

item_background - item滑开那部分的背景.

item_btn1_background - "菜单"中第一个button的背景.

item_btn1_text - "菜单"中第一个button的text.

item_btn2_background - "菜单"中第二个button的背景.

item_btn2_text - "菜单"中第二个button的text.

item_btn_number - 要显示出来的”菜单”中的button的个数,在0~2之间.

item_btn_width - “菜单”中button的宽度.

item_btn_text_color - "菜单"中button的字体颜色.

item_btn_text_size - "菜单"中button的字体大小.

item_height - item的高度.

Listeners

SlideAndDragListView.OnListItemLongClickListener

sdlv.setOnListItemLongClickListener(new SlideAndDragListView.OnListItemLongClickListener() {

@Override

public void onListItemLongClick(View view, int position) {

}

});

public void onListItemLongClick(View view, int position) . 参数 view 是被长点击的item, 参数 position 是item在SDLV中的位置。.

SlideAndDragListView.OnListItemClickListener

sdlv.setOnListItemClickListener(new SlideAndDragListView.OnListItemClickListener() {

@Override

public void onListItemClick(View v, int position) {

}

});

public void onListItemClick(View view, int position) . 参数 view 是被点击的item, 参数 position 是item在SDLV中的位置.

SlideAndDragListView.OnDragListener

sdlv.setOnDragListener(new SlideAndDragListView.OnDragListener() {

@Override

public void onDragViewMoving(int position) {

}

@Override

public void onDragViewDown(int position) {

}

});

public void onDragViewMoving(int position) .参数 position 是被拖动的item的现在所在的位置,同时onDragViewMoving这个方法会被不停的调用,因为一直在拖动,同时position也会改变.

public void onDragViewDown(int position) . 参数 position 是被拖动的item被放下的时候在SDLV中的位置.

SlideAndDragListView.OnSlideListener

sdlv.setOnSlideListener(new SlideAndDragListView.OnSlideListener() {

@Override

public void onSlideOpen(View view, int position) {

}

@Override

public void onSlideClose(View view, int position) {

}

});

public void onSlideOpen(View view, int position). 参数 view 是滑动开的那个item, 同时 position 是那个item在SDLV中的位置。.

public void onSlideClose(View view, int position). 参数 view 是滑动关闭的那个item, 同时 position 是那个item在SDLV中的位置.

SlideAndDragListView.OnButtonClickListenerProxy

sdlv.setOnButtonClickListenerProxy(new SlideAndDragListView.OnButtonClickListenerProxy() {

@Override

public void onClick(View view, int position, int number) {

}

});

public void onClick(View view, int position, int number) . 参数 view 是”菜单”中被点击的button,参数 position 这个button所在的item在SDLV中的位置,参数, number 代表哪一个被点击了,因为可能会有2个.

Permission

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值