Skip to content

Commit

Permalink
#update 添加灰色效果滤镜
Browse files Browse the repository at this point in the history
  • Loading branch information
meng.wu1 committed Dec 1, 2022
1 parent b85d98f commit 96237a4
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
11 changes: 11 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/ui/mvvm/MVVMActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@ package com.mirkowu.mvm.ui.mvvm
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.graphics.ColorMatrix
import android.graphics.ColorMatrixColorFilter
import android.graphics.Paint
import android.view.View
import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager
import com.mirkowu.lib_base.util.bindingView
import com.mirkowu.lib_base.widget.RefreshHelper
import com.mirkowu.lib_network.state.observeRequest
import com.mirkowu.lib_util.ColorFilterUtils
import com.mirkowu.lib_util.LogUtil
import com.mirkowu.lib_widget.adapter.BaseRVAdapter
import com.mirkowu.lib_widget.stateview.LoadingDot
Expand All @@ -31,6 +35,7 @@ class MVVMActivity : BaseActivity<MVVMMediator?>(), RefreshHelper.OnRefreshListe
setContentView(binding.root)
}

var isGrayMode=false
override fun initialize() {
refreshHelper = RefreshHelper(binding.mRefresh, binding.mRecyclerView, this)
imageAdapter = ImageAdapter()
Expand All @@ -48,6 +53,12 @@ class MVVMActivity : BaseActivity<MVVMMediator?>(), RefreshHelper.OnRefreshListe
"TAG",
"onItemChildClick: $position"
)
isGrayMode=!isGrayMode
if (isGrayMode){
ColorFilterUtils.setGrayFilter(activity)
}else{
ColorFilterUtils.removeFilter(activity)
}
}
imageAdapter.setOnItemChildLongClickListener { view, item, position ->
LogUtil.i("TAG", "onItemChildLongClick: $position")
Expand Down
46 changes: 46 additions & 0 deletions lib_util/src/main/java/com/mirkowu/lib_util/ColorFilterUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.mirkowu.lib_util;

import android.app.Activity;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Paint;
import android.view.View;

public class ColorFilterUtils {

/**
* 灰色滤镜效果(eg.悼念日)
*
* @param view
*/
public static void setGrayFilter(View view) {
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);//????
paint.setColorFilter(new ColorMatrixColorFilter(cm));
view.setLayerType(View.LAYER_TYPE_HARDWARE, paint);
}

/**
* 移除滤镜
*
* @param view
*/
public static void removeFilter(View view) {
Paint paint = new Paint();
// ColorMatrix cm = new ColorMatrix();
// cm.setSaturation(0);//????
// paint.setColorFilter(new ColorMatrixColorFilter(cm));
view.setLayerType(View.LAYER_TYPE_HARDWARE, paint);
}

public static void setGrayFilter(Activity activity) {
setGrayFilter(activity.getWindow().getDecorView());
}

public static void removeFilter(Activity activity) {
removeFilter(activity.getWindow().getDecorView());
}


}

0 comments on commit 96237a4

Please sign in to comment.