Ver código fonte

1.设置edittext获取焦点不弹软键盘

王鹏鹏 2 anos atrás
pai
commit
d9cc6cc073

+ 36 - 0
baselib/src/main/java/com/yingyangfly/baselib/ext/ViewExt.kt

@@ -2,6 +2,8 @@ package com.yingyangfly.baselib.ext
 
 import android.text.InputFilter
 import android.view.View
+import android.view.animation.Animation
+import android.view.animation.ScaleAnimation
 import android.webkit.WebView
 import android.widget.EditText
 import android.widget.TextView
@@ -11,6 +13,7 @@ import com.yingyangfly.baselib.permissions.EsayPermissions
 import com.yingyangfly.baselib.permissions.OnPermission
 import java.util.regex.Pattern
 
+
 /**
  * @author: gold
  * @time: 2022/8/29 上午10:47
@@ -156,3 +159,36 @@ fun EditText.typeFilter(pattern: String): InputFilter {
 }
 
 
+/**
+ * 按钮按下动画
+ * @return
+ */
+fun getScaleAnimation(): Animation {
+    val end = 0.94f
+    val start = 1.0f
+    val scaleAnimation: Animation = ScaleAnimation(
+        start, end, start, end,
+        Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f
+    )
+    scaleAnimation.duration = 100
+    scaleAnimation.fillAfter = true
+    return scaleAnimation
+}
+
+/**
+ * 按钮弹起动画
+ * @return
+ */
+fun getEndAnimation(): Animation {
+    val end = 0.94f
+    val start = 1.0f
+    val endAnimation: Animation = ScaleAnimation(
+        end, start, end, start,
+        Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f
+    )
+    endAnimation.duration = 100
+    endAnimation.fillAfter = true
+    return endAnimation
+}
+
+

+ 24 - 8
mmse/src/main/java/com/yingyangfly/mmse/adapter/NumberAdapter.kt

@@ -1,10 +1,13 @@
 package com.yingyangfly.mmse.adapter
 
+import android.annotation.SuppressLint
 import android.text.TextUtils
+import android.view.MotionEvent
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.ItemNumberBinding
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
-import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.ext.getEndAnimation
+import com.yingyangfly.baselib.ext.getScaleAnimation
 import com.yingyangfly.baselib.ext.setTextColorResource
 
 /**
@@ -15,6 +18,7 @@ class NumberAdapter(override val layoutId: Int = R.layout.item_number) :
 
     var onNumClickListener: ((bean: String, type: String) -> Unit)? = null
 
+    @SuppressLint("ClickableViewAccessibility")
     override fun onBindViewHolder(binding: ItemNumberBinding, item: String, position: Int) {
         binding.data = item
         if (TextUtils.equals("删除", item)) {
@@ -24,14 +28,26 @@ class NumberAdapter(override val layoutId: Int = R.layout.item_number) :
         } else {
             binding.tvNumber.setTextColorResource(R.color.color_FF222222)
         }
-        binding.numberLayout.setOnSingleClickListener {
-            if (TextUtils.equals("删除", item)) {
-                onNumClickListener?.invoke("", "1")
-            } else if (TextUtils.equals("确定", item)) {
-                onNumClickListener?.invoke("", "2")
-            } else {
-                onNumClickListener?.invoke(item, "0")
+        binding.numberLayout.setOnTouchListener { v, event ->
+            when (event.action) {
+                MotionEvent.ACTION_DOWN -> {
+                    v.startAnimation(getScaleAnimation())
+                }
+                MotionEvent.ACTION_UP -> {
+                    v.startAnimation(getEndAnimation())
+                    if (TextUtils.equals("删除", item)) {
+                        onNumClickListener?.invoke("", "1")
+                    } else if (TextUtils.equals("确定", item)) {
+                        onNumClickListener?.invoke("", "2")
+                    } else {
+                        onNumClickListener?.invoke(item, "0")
+                    }
+                }
+                MotionEvent.ACTION_CANCEL -> {
+                    v.startAnimation(getEndAnimation())
+                }
             }
+            true
         }
     }
 }