Commit 63a99165 authored by leichao.gao's avatar leichao.gao

update

parent 896f5b63
package com.base.browserwhite.ui.activity.search package com.base.browserwhite.ui.activity.search
import android.animation.Animator import android.animation.Animator
import android.animation.AnimatorSet
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.res.Resources
import android.graphics.Color import android.graphics.Color
import android.os.Handler import android.os.Handler
import android.util.DisplayMetrics
import android.util.Log
import android.util.TypedValue import android.util.TypedValue
import android.view.KeyEvent import android.view.KeyEvent
import android.view.View import android.view.View
...@@ -258,26 +263,74 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -258,26 +263,74 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
} }
fun startActivityWithButtonExpandAnimation(currentActivity: Activity, button: View, verticalOffset: Int) {
// val finalPosition = fun startActivityWithButtonExpandAnimation(
// TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16f, currentActivity.resources.displayMetrics).toInt() currentActivity: Activity,
// val buttonTop = button.top - finalPosition button: View,
// val distanceToTop = -buttonTop - verticalOffset verticalOffset: Int
// val animator = ObjectAnimator.ofFloat(button, "scaleX", 1f, 1.05f) ) {
// animator.setDuration(500)
// animator.addListener(object : Animator.AnimatorListener { val context: Context = button.getContext()
// override fun onAnimationStart(animation: Animator) {} val res: Resources = context.resources
// override fun onAnimationEnd(animation: Animator) {
// button.visibility = View.VISIBLE
val intent = Intent(currentActivity, SearchActivity::class.java) // 将dp单位转换为像素
currentActivity.startActivityForResult(intent, 10086) val startHeight =
currentActivity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 40f, res.getDisplayMetrics())
// } .toInt()
// val endHeight =
// override fun onAnimationCancel(animation: Animator) {} TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50f, res.getDisplayMetrics())
// override fun onAnimationRepeat(animation: Animator) {} .toInt()
// }) val marginEnd =
// animator.start() TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30f, res.getDisplayMetrics())
.toInt()
// 获取屏幕宽度和视图当前宽度
val metrics = DisplayMetrics()
(context as Activity).windowManager.defaultDisplay.getMetrics(metrics)
val startWidth: Int = button.getWidth() // 假设view已经布局,可以获取宽度
val screenWidth = context.getResources().displayMetrics.widthPixels - marginEnd
val x = screenWidth.toFloat() / button.width.toFloat()
Log.d("glc","screenWidth:"+screenWidth)
Log.d("glc","button.width.toFloat():"+button.width.toFloat())
val scaleXAnimator = ObjectAnimator.ofFloat(button, "scaleX", 1f, x)
val scaleYAnimator = ObjectAnimator.ofFloat(button, "scaleY", 1f, 1.13f)
button.pivotX = 0f
button.pivotY = 0f
scaleXAnimator.setDuration(500)
scaleYAnimator.setDuration(500)
val animatorSet = AnimatorSet()
animatorSet.playTogether(
scaleXAnimator,
scaleYAnimator
)
animatorSet.start()
animatorSet.addListener(object : Animator.AnimatorListener {
override fun onAnimationStart(animation: Animator) {
}
override fun onAnimationEnd(animation: Animator) {
val intent = Intent(currentActivity, SearchActivity::class.java)
currentActivity.startActivityForResult(intent, 10087)
currentActivity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
}
override fun onAnimationCancel(animation: Animator) {
}
override fun onAnimationRepeat(animation: Animator) {
}
})
} }
} }
......
...@@ -256,7 +256,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() { ...@@ -256,7 +256,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
binding.editWeb.setOnFocusChangeListener { v, hasFocus -> binding.editWeb.setOnFocusChangeListener { v, hasFocus ->
if (hasFocus) { if (hasFocus) {
binding.editWeb.selectAll() binding.editWeb.selectAll()
binding.ivShare.visibility = View.GONE binding.ivShare.visibility = View.INVISIBLE
SearchActivity.searchContent = binding.editWeb.text.toString() SearchActivity.searchContent = binding.editWeb.text.toString()
SearchActivity.startActivityWithButtonExpandAnimation(this, binding.clSearch, 0) SearchActivity.startActivityWithButtonExpandAnimation(this, binding.clSearch, 0)
v.clearFocus() v.clearFocus()
......
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