Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SwiftyWang/android-drag-square
edit personal information which enables users to drag and rank image order
https://github.com/SwiftyWang/android-drag-square
Last synced: about 1 month ago
JSON representation
edit personal information which enables users to drag and rank image order
- Host: GitHub
- URL: https://github.com/SwiftyWang/android-drag-square
- Owner: SwiftyWang
- Fork: true (xmuSistone/DragRankSquare)
- Created: 2016-11-29T07:10:44.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-03-26T15:24:36.000Z (over 5 years ago)
- Last Synced: 2024-08-02T01:25:16.932Z (4 months ago)
- Language: Java
- Homepage:
- Size: 11.7 MB
- Stars: 264
- Watchers: 8
- Forks: 20
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-github-android-ui - android-drag-square - 编辑个人资料及图片可拖拽排序 (Sort&Drag)
README
# Modified by Swifty
## refactor the repository, easy to use with gradle import.
[![](https://jitpack.io/v/SwiftyWang/android-drag-square.svg)](https://jitpack.io/#SwiftyWang/android-drag-square)## How to use
Add it in your root build.gradle at the end of repositories:```gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```Add the dependency
```gradle
dependencies {
compile 'com.github.SwiftyWang.android-drag-square:dragsquareimage:1.2.3'
}
```get DraggablePresenter
```java
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
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result) {
draggablePresent.onActivityResult(requestCode, resultCode, result);
}
```Set customer dialog, Customer dialog must extends ActionDialog.class
```java
draggablePresent.setCustomActionDialog(new MyActionDialog(Context));
```listen image changes
```java
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
```java
SparseArray 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的仓库,可惜用起来的时候发现不够流畅、不够灵活。### 截图