Commit 5d650dc8 authored by wanglei's avatar wanglei

Merge remote-tracking branch 'origin/master'

parents 32161eea ab61a7ef
......@@ -20,6 +20,7 @@ import android.view.inputmethod.InputMethodManager
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.widget.addTextChangedListener
import com.base.browserwhite.MyApplication
import com.base.browserwhite.R
import com.base.browserwhite.bean.ConstObject
import com.base.browserwhite.bean.ConstObject.searchEngineSp
......@@ -38,6 +39,8 @@ import com.base.browserwhite.utils.LinkSearchUtils
import com.base.browserwhite.utils.LogEx
import com.base.browserwhite.utils.SpBeanUtils
import com.base.browserwhite.utils.SpBeanUtils.SEARCH_RECORD_SP_KEY
import com.base.browserwhite.utils.Utils
import com.base.browserwhite.utils.Utils.dpToPx
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
......@@ -69,13 +72,14 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
if (isHomeSearch) {
startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("url", link)
putExtra("action", "search")
addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
})
} else {
RxBus.get().post(CHANGE_SEARCH_URL, link)
setResult(10087)
}
RxBus.get().post(Constants.RESET_SEARCH_VIEW, 1)
setResult(10087)
finish()
overridePendingTransition(0, 0)
}
......@@ -86,14 +90,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
isHomeSearch = intent.extras?.getBoolean("isHomeSearch") ?: true
val layout = binding.clTop
val layoutParams = layout.layoutParams as LinearLayout.LayoutParams
val finalPosition = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16f, getResources().displayMetrics).toInt()
// layoutParams.topMargin = getStatusBarHeight() + finalPosition
layoutParams.topMargin = finalPosition
layout.setLayoutParams(layoutParams)
layout.visibility = View.VISIBLE
switchSearch(searchEngineSp)
searchAdapter = SearchAdapter()
......@@ -242,8 +238,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
var searchContent: String = ""
fun startActivityWithButtonAnimation(currentActivity: Activity, button: View, verticalOffset: Int) {
val finalPosition =
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16f, currentActivity.resources.displayMetrics).toInt()
val finalPosition =MyApplication.context.dpToPx(16f)
val buttonTop = button.top - finalPosition
val distanceToTop = -buttonTop - verticalOffset
val animator = ObjectAnimator.ofFloat(button, "translationY", button.translationY, distanceToTop.toFloat())
......@@ -271,23 +266,9 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
button: View,
verticalOffset: Int
) {
val context: Context = button.getContext()
val res: Resources = context.resources
val marginEnd = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30f, res.getDisplayMetrics())
.toInt()
val metrics = DisplayMetrics()
(context as Activity).windowManager.defaultDisplay.getMetrics(metrics)
val screenWidth = context.getResources().displayMetrics.widthPixels - marginEnd
val marginEnd = MyApplication.context.dpToPx(30f)
val screenWidth =Utils.getScreenWidth(MyApplication.context) - 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, 50f / 44f)
button.pivotX = 0f
......
......@@ -8,6 +8,7 @@ import android.content.Context
import android.content.Intent
import android.content.res.Resources
import android.graphics.Color
import android.text.TextUtils
import android.util.DisplayMetrics
import android.util.TypedValue
import android.view.KeyEvent
......@@ -19,6 +20,7 @@ import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentTransaction
import androidx.lifecycle.lifecycleScope
import com.base.browserwhite.MyApplication
import com.base.browserwhite.R
import com.base.browserwhite.ads.AdmobMaxHelper
import com.base.browserwhite.ads.AdmobMaxHelper.lastShowInter
......@@ -47,6 +49,8 @@ import com.base.browserwhite.utils.LinkSearchUtils.getYandexSearch
import com.base.browserwhite.utils.LinkSearchUtils.handleInput
import com.base.browserwhite.utils.SpBeanUtils
import com.base.browserwhite.utils.SpBeanUtils.BOOKMARK_SP_KEY
import com.base.browserwhite.utils.Utils
import com.base.browserwhite.utils.Utils.dpToPx
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import kotlinx.coroutines.delay
......@@ -115,25 +119,27 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
}
addNewWebSite(url)
val action = intent.getStringExtra("action")?:""
if(TextUtils.equals(action,"search")){
binding.clSearch.post {
resetSearchLayout()
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode==10087){
val context: Context = binding.clSearch.getContext()
val res: Resources = context.resources
// 已经获取的屏幕宽度和marginEnd
val marginEnd = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30f, res.getDisplayMetrics()).toInt()
val metrics = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(metrics)
val screenWidth = context.resources.displayMetrics.widthPixels - marginEnd
resetSearchLayout()
}
}
private fun resetSearchLayout(){
val screenWidth = Utils.getScreenWidth(MyApplication.context) -MyApplication.context.dpToPx(30f)
val reverseScaleXAnimator = ObjectAnimator.ofFloat(binding.clSearch, "scaleX", screenWidth / binding.clSearch.width.toFloat(), 1f)
val reverseScaleYAnimator = ObjectAnimator.ofFloat(binding.clSearch, "scaleY", 50f / 44f, 1f)
// 设置动画持续时间
binding.clSearch.pivotX=0f
binding.clSearch.pivotY=0f
reverseScaleXAnimator.setDuration(500)
reverseScaleYAnimator.setDuration(500)
val reverseAnimatorSet = AnimatorSet().apply {
......@@ -144,7 +150,6 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
binding.ivShare.visibility = View.VISIBLE
}
}
private fun checkLeftRight() {
......
package com.base.browserwhite.utils
import android.content.Context
import android.os.Build
import android.util.DisplayMetrics
import android.util.TypedValue
class Utils{
import android.view.WindowManager
object Utils{
// 扩展函数:dp 转 px
fun Context.dpToPx(dp: Float): Float {
......@@ -11,6 +14,12 @@ class Utils{
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, metrics)
}
fun getScreenWidth(context: Context): Int {
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
val display = windowManager.defaultDisplay
val metrics = DisplayMetrics()
display.getMetrics(metrics)
return metrics.widthPixels
}
}
......@@ -12,7 +12,8 @@
<RelativeLayout
android:id="@+id/ll_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_height="50dp"
android:orientation="horizontal"
app:layout_constraintTop_toTopOf="parent">
......@@ -22,14 +23,8 @@
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="20dp"
android:layout_marginRight="15dp"
android:src="@mipmap/fenxiang"
app:layout_constraintBottom_toBottomOf="@id/cl_search"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/cl_search"
app:layout_constraintTop_toTopOf="@id/cl_search"
tools:ignore="ContentDescription" />
<androidx.constraintlayout.widget.ConstraintLayout
......@@ -38,8 +33,7 @@
android:layout_height="44dp"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="16dp"
android:layout_toStartOf="@+id/iv_share"
android:layout_toLeftOf="@+id/iv_share"
android:background="@drawable/bg_stroke_070709"
android:orientation="horizontal"
tools:ignore="InefficientWeight">
......@@ -127,7 +121,7 @@
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:paddingTop="16dp"
android:layout_marginTop="16dp"
app:layout_constraintBottom_toTopOf="@id/cl_bottom"
app:layout_constraintTop_toBottomOf="@id/ll_top"
tools:ignore="UselessLeaf" />
......
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