仿探探编辑页图片拖动效果
最近来了一个新的需求,要做一个类似探探的个人编辑页面,丛里找到外啊,图片拍照到相册选择在到图片拖动效果,找的我呀,不过所幸做出来了,今天无意间找到一位大神 的demo,下载运行一看,都有,瞬间都想奔溃了。所有需求都有,已笑哭。给大家分享一下。
先看看效果图
这就是页面的所有代码
package com.stone.dragsquare; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.support.v7.app.AppCompatActivity; import android.util.SparseArray; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import com.swifty.dragsquareimage.DraggablePresenter; import com.swifty.dragsquareimage.DraggablePresenterImpl; import com.swifty.dragsquareimage.DraggableSquareView; /** * LZN * 显示主页 */ public class MainActivity extends AppCompatActivity { private TextView contentText; private DraggablePresenter draggablePresent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportActionBar().setTitle("编辑个人资料"); getSupportActionBar().setDisplayHomeAsUpEnabled(true); //这个是图片显示的卡片 DraggableSquareView dragSquare = (DraggableSquareView) findViewById(R.id.drag_square); contentText = (TextView) findViewById(R.id.contentText); //接口,传参 draggablePresent = new DraggablePresenterImpl(this, dragSquare); draggablePresent.setCustomActionDialog(new MyActionDialog(this)); //图片文件资源 draggablePresent.setImages(new String[]{"http://lorempixel.com/400/400?flag=0", "http://lorempixel.com/400/400?flag=1", "http://lorempixel.com/400/400?flag=2", "http://lorempixel.com/400/400?flag=3", "http://lorempixel.com/400/400?flag=4", "http://lorempixel.com/400/400?flag=5"}); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home:// 点击返回图标事件 this.finish(); default: return super.onOptionsItemSelected(item); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent result) { draggablePresent.onActivityResult(requestCode, resultCode, result); } /** * 根据Uri获取图片文件的绝对路径 */ public String getAbsolutePath(final Uri uri) { if (null == uri) { return null; } final String scheme = uri.getScheme(); String data = null; if (scheme == null) { data = uri.getPath(); } else if (ContentResolver.SCHEME_FILE.equals(scheme)) { data = uri.getPath(); } else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) { Cursor cursor = getContentResolver().query(uri, new String[]{MediaStore.Images.ImageColumns.DATA}, null, null, null); if (null != cursor) { if (cursor.moveToFirst()) { int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); if (index > -1) { data = cursor.getString(index); } } cursor.close(); } } return data; } public void showUrls(View view) { SparseArray<String> array = draggablePresent.getImageUrls(); if (array == null) return; StringBuilder stringBuffer = new StringBuilder(); for (int i = 0; i < array.size(); i++) { String o = array.get(array.keyAt(i)); stringBuffer.append(i).append(":").append(o).append("\n"); } contentText.setText(stringBuffer.toString()); } }
是不是很简洁,但是调用的方法比较多,依赖的包也有不少代码,就不一一贴了,我把资源给大家传上去。
下载地址:http://download.****.net/download/leiyaqiang/9957424