编辑个人信息,使用户能够拖动和排序图像顺序

一个仿探探上传相片的widget,基于xmuSistone的demo, 提供gradle import,添加上传照片功能以及各种回调,api,方便使用

Android 图片加载展示

访问GitHub主页

共262Star

详细介绍

Modified by Swifty

refactor the repository, easy to use with gradle import.

How to use

Add it in your root build.gradle at the end of repositories:

	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

Add the dependency

	dependencies {
	        compile 'com.github.SwiftyWang.android-drag-square:dragsquareimage:1.2.3'
	}

get DraggablePresenter

        DraggableSquareView dragSquare = (DraggableSquareView) findViewById(R.id.drag_square);
        contentText = (TextView) findViewById(R.id.contentText);
        draggablePresent = new DraggablePresentImpl(fragment, dragSquare);
        draggablePresent = new DraggablePresentImpl(activity, dragSquare);

need pass activity callback to DraggablePresentImpl

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent result) {
        draggablePresent.onActivityResult(requestCode, resultCode, result);
    }

Set customer dialog, Customer dialog must extends ActionDialog.class

    draggablePresent.setCustomActionDialog(new MyActionDialog(Context));

listen image changes

    dragSquare.setImageChangesListener(imageChangesListener);

    public interface ImageChangesListener {
        void onImageAdded(String uri, int index);

        void onImageEdited(String uri, int index);

        void onImageDeleted(String uri, int index);
    }

All public apis

    SparseArray<String> getImageUrls();

    void setImages(String... imageUrls);

    void setCustomActionDialog(ActionDialog actionDialog);

android-drag-square

edit personal data which enables users to drag and rank image order

编辑个人资料,图片可拖拽排序。有点像可拖拽的gridView,但是会更流畅。
这个demo是探探的个人资料编辑页面,受网上一位朋友的委托,该库模仿了其拖动效果。
探探的安卓工程师,应该特别牛逼吧。因为最初时,这种拖拽效果真的无从下手。反编译探探的源代码,发现它做了很严肃的混淆处理。然后用Hierarchy Viewer看了View的层级,这才有了一点点的思路。
在代码撰写的过程中,我也踩了不少坑。细看代码深处,或许你会有一丝丝的收获吧。
当然,在最初的最初,我搜了不少的draggable gridview的仓库,可惜用起来的时候发现不够流畅、不够灵活。

截图

推荐源码