Commit 69cc81ab authored by shiyuelong's avatar shiyuelong

个人认证人脸识别去验证按钮点击事件优化

parent b63a9a4f
...@@ -4,6 +4,8 @@ import android.content.Context ...@@ -4,6 +4,8 @@ import android.content.Context
import android.graphics.Color import android.graphics.Color
import android.util.AttributeSet import android.util.AttributeSet
import android.view.View import android.view.View
import com.yidian.common.extensions.hide
import com.yidian.common.extensions.show
import com.yidian.nightmode.widget.YdConstraintLayout import com.yidian.nightmode.widget.YdConstraintLayout
import com.yidian.shenghuoquan.newscontent.R import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountFaceAuthBinding import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountFaceAuthBinding
...@@ -14,66 +16,69 @@ import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountFaceAuthBi ...@@ -14,66 +16,69 @@ import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountFaceAuthBi
* description: 生活号认证 人脸认证 * description: 生活号认证 人脸认证
*/ */
class LifeAccountFaceAuthView @JvmOverloads constructor( class LifeAccountFaceAuthView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyle: Int = 0 defStyle: Int = 0
) : YdConstraintLayout(context, attrs, defStyle), View.OnClickListener { ) : YdConstraintLayout(context, attrs, defStyle), View.OnClickListener {
private val viewBinding = ViewLifeAccountFaceAuthBinding.bind( private val viewBinding = ViewLifeAccountFaceAuthBinding.bind(
View.inflate( View.inflate(
getContext(), R.layout.view_life_account_face_auth, this getContext(), R.layout.view_life_account_face_auth, this
)
) )
)
private var callback: OnLifeAccountFaceAuthCallback? = null private var callback: OnLifeAccountFaceAuthCallback? = null
init { init {
viewBinding.ivFaceAuthStart.setOnClickListener(this) viewBinding.tvFaceAuthStart.setOnClickListener(this)
} }
/** /**
* 人脸验证结果UI * 人脸验证结果UI
* @param result true为验证通过 false为验证未通过 * @param result true为验证通过 false为验证未通过
*/ */
fun showFaceAuthResult(result: Boolean) { fun showFaceAuthResult(result: Boolean) {
if (result) { if (result) {
viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_success) viewBinding.tvFaceAuthResult.show()
viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FF6BB81F")) viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_success)
viewBinding.ivFaceAuthStart.visibility = View.GONE viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FF6BB81F"))
viewBinding.tvFaceAuthErrorTips.visibility = View.GONE viewBinding.tvFaceAuthStart.hide()
} else { viewBinding.tvFaceAuthErrorTips.hide()
viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_fail) } else {
viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FFFF3A3A")) viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_fail)
viewBinding.tvFaceAuthErrorTips.visibility = View.VISIBLE viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FFFF3A3A"))
viewBinding.tvFaceAuthErrorTips.text = resources.getText(R.string.face_auth_error_tips) viewBinding.tvFaceAuthErrorTips.visibility = View.VISIBLE
} viewBinding.tvFaceAuthErrorTips.text = resources.getText(R.string.face_auth_error_tips)
} }
}
/** /**
* 人脸验证结果成功UI * 人脸验证结果成功UI
*/ */
fun showFaceAuthSuccess() { fun showFaceAuthSuccess() {
viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_success) viewBinding.tvFaceAuthResult.show()
viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FF6BB81F")) viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_success)
viewBinding.ivFaceAuthStart.visibility = View.GONE viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FF6BB81F"))
viewBinding.tvFaceAuthErrorTips.visibility = View.GONE viewBinding.tvFaceAuthStart.hide()
} viewBinding.tvFaceAuthErrorTips.hide()
}
override fun onClick(v: View?) { override fun onClick(v: View?) {
if (v?.id == R.id.iv_face_auth_start) { // 去验证
callback?.onStartFaceAuth() if (v?.id == R.id.tv_face_auth_start) {
} callback?.onStartFaceAuth()
} }
}
fun setOnLifeAccountFaceAuthCallback(callback: OnLifeAccountFaceAuthCallback) { fun setOnLifeAccountFaceAuthCallback(callback: OnLifeAccountFaceAuthCallback) {
this.callback = callback this.callback = callback
} }
interface OnLifeAccountFaceAuthCallback { interface OnLifeAccountFaceAuthCallback {
/** /**
* 进行人脸验证 * 进行人脸验证
*/ */
fun onStartFaceAuth() fun onStartFaceAuth()
} }
} }
\ No newline at end of file
...@@ -23,17 +23,23 @@ ...@@ -23,17 +23,23 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="2dp" android:layout_marginEnd="2dp"
android:includeFontPadding="false" android:includeFontPadding="false"
android:text="@string/start_face_auth" android:text="@string/face_auth_fail"
android:textColor="#FF1852F1" android:textColor="#FF1852F1"
android:textSize="15sp" android:textSize="15sp"
app:layout_constraintEnd_toStartOf="@id/iv_face_auth_start" android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdImageView <com.yidian.nightmode.widget.YdTextView
android:id="@+id/iv_face_auth_start" android:id="@+id/tv_face_auth_start"
android:layout_width="23dp" android:layout_width="wrap_content"
android:layout_height="23dp" android:layout_height="wrap_content"
android:src="@mipmap/icon_next" android:layout_marginEnd="@dimen/dp2"
android:drawableEnd="@mipmap/icon_next"
android:text="去验证"
android:textColor="#FF1852F1"
android:textSize="15sp"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@id/tv_face_auth" app:layout_constraintBottom_toBottomOf="@id/tv_face_auth"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_face_auth" /> app:layout_constraintTop_toTopOf="@id/tv_face_auth" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment