From 783231868f65b9a107b6151991288df480868515 Mon Sep 17 00:00:00 2001 From: LONG Date: Wed, 4 Jan 2017 14:55:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=90=AF=E6=A8=A1=E7=B3=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dragsloplayout/build.gradle | 4 +- .../java/com/dl7/drag/DragSlopLayout.java | 37 +++++++++++-------- simple/build.gradle | 2 +- .../drag/activity/DragBlurActivity.java | 8 ++-- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/dragsloplayout/build.gradle b/dragsloplayout/build.gradle index 6cc3725..3e12bdf 100644 --- a/dragsloplayout/build.gradle +++ b/dragsloplayout/build.gradle @@ -11,8 +11,8 @@ android { targetSdkVersion 23 versionCode 2 versionName "1.0.2" -// renderscriptTargetApi 23 -// renderscriptSupportModeEnabled true + renderscriptTargetApi 23 + renderscriptSupportModeEnabled true } buildTypes { release { diff --git a/dragsloplayout/src/main/java/com/dl7/drag/DragSlopLayout.java b/dragsloplayout/src/main/java/com/dl7/drag/DragSlopLayout.java index b72e9f8..142986e 100644 --- a/dragsloplayout/src/main/java/com/dl7/drag/DragSlopLayout.java +++ b/dragsloplayout/src/main/java/com/dl7/drag/DragSlopLayout.java @@ -2,14 +2,27 @@ import android.content.Context; import android.content.res.TypedArray; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.ClipDrawable; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.os.Build; import android.support.annotation.IntDef; import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.NestedScrollView; import android.support.v4.widget.ScrollerCompat; import android.support.v4.widget.ViewDragHelper; +import android.support.v8.renderscript.Allocation; +import android.support.v8.renderscript.Element; +import android.support.v8.renderscript.RenderScript; +import android.support.v8.renderscript.ScriptIntrinsicBlur; import android.util.AttributeSet; import android.view.GestureDetector; +import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; @@ -231,12 +244,10 @@ protected void onDetachedFromWindow() { if (mAnimPresenter != null) { mAnimPresenter.stopAllAnimator(); } - /* if (mBitmapToBlur != null) { mBitmapToBlur.recycle(); mBitmapToBlur = null; } - */ } /*********************************** @@ -545,7 +556,6 @@ public void run() { * @param percent 百分比 */ private void _dragPositionChanged(int visibleHeight, float percent) { - /* if (mEnableBlur && mBlurDrawable != null) { if (visibleHeight < mFixHeight) { return; @@ -558,7 +568,6 @@ private void _dragPositionChanged(int visibleHeight, float percent) { } mBlurDrawable.setAlpha((int) (percent * 255)); } - */ if (visibleHeight >= 0) { ViewCompat.setTranslationY(mMainView, -visibleHeight * (1 - mCollapseParallax)); } @@ -592,11 +601,9 @@ private boolean _isNeedIntercept(MotionEvent ev) { if (mDragHelper.isViewUnder(mAttachScrollView, (int) ev.getX(), y) && mMode != MODE_ANIMATE) { return true; } - /* if (mEnableBlur && mDragStatus == STATUS_EXPANDED) { return true; } - */ return false; } @@ -833,7 +840,6 @@ public void setCustomAnimator(CustomViewAnimator inAnimator, CustomViewAnimator /************************************* * Blur ********************************************/ -/* private final static int DEFAULT_SAMPLE_FACTOR = 4; private final static int DEFAULT_BLUR_RADIUS = 5; @@ -878,11 +884,11 @@ public void setBlurFull(boolean blurFull) { mIsBlurFull = blurFull; } - *//** + /** * 设置使能模糊效果 * * @param enableBlur - *//* + */ public void setEnableBlur(boolean enableBlur) { if (mEnableBlur == enableBlur) { return; @@ -913,9 +919,9 @@ public void run() { } } - *//** + /** * 刷新模糊视图 - *//* + */ public void updateBlurView() { if (mEnableBlur) { mBlurDrawable = null; @@ -923,11 +929,11 @@ public void updateBlurView() { } } - *//** + /** * 模糊视图 * * @param view - *//* + */ private void _blurView(View view) { final int width = view.getWidth(); final int height = view.getHeight(); @@ -990,9 +996,9 @@ private void _blurView(View view) { } } - *//** + /** * 在线程处理图片模糊 - *//* + */ @SuppressWarnings("deprecation") private void _handleBlurInThread() { new Thread(new Runnable() { @@ -1013,5 +1019,4 @@ public void run() { } }).start(); } - */ } diff --git a/simple/build.gradle b/simple/build.gradle index f6f7007..7a3e3fe 100644 --- a/simple/build.gradle +++ b/simple/build.gradle @@ -27,11 +27,11 @@ dependencies { testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' compile project(':dragsloplayout') +// compile 'com.github.Rukey7:DragSlopLayout:1.0.2' // photoview compile 'com.github.chrisbanes.photoview:library:1.2.4' // butterknife compile 'com.jakewharton:butterknife:8.4.0' apt 'com.jakewharton:butterknife-compiler:8.4.0' - compile 'com.eightbitlab:blurview:1.2.0' } diff --git a/simple/src/main/java/com/dl7/simple/drag/activity/DragBlurActivity.java b/simple/src/main/java/com/dl7/simple/drag/activity/DragBlurActivity.java index 2f593c2..1e54a15 100644 --- a/simple/src/main/java/com/dl7/simple/drag/activity/DragBlurActivity.java +++ b/simple/src/main/java/com/dl7/simple/drag/activity/DragBlurActivity.java @@ -46,7 +46,7 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_drag_blur); ButterKnife.bind(this); initToolBar(mToolBar, true, ""); -// mDragLayout.setEnableBlur(true); + mDragLayout.setEnableBlur(true); } @Override @@ -60,10 +60,10 @@ public boolean onOptionsItemSelected(MenuItem item) { item.setChecked(true); switch (item.getItemId()) { case R.id.blur_local: -// mDragLayout.setBlurFull(false); + mDragLayout.setBlurFull(false); return true; case R.id.blur_full: -// mDragLayout.setBlurFull(true); + mDragLayout.setBlurFull(true); return true; } return super.onOptionsItemSelected(item); @@ -77,7 +77,7 @@ public void onClick(View view) { break; case R.id.ll_next: mIvPhoto.setImageResource(mImgRes[mIndex++ % mImgRes.length]); -// mDragLayout.updateBlurView(); + mDragLayout.updateBlurView(); break; case R.id.ll_download: Toast.makeText(this, "下载", Toast.LENGTH_SHORT).show();