Commit 52758720 authored by wanglei's avatar wanglei

Merge remote-tracking branch 'origin/master'

parents ad5da152 5e0c6fe8
......@@ -4,5 +4,6 @@ public class Constants {
public static final String CHANGE_SEARCH_TYPE = "change_search_type";
public static final String RESET_SEARCH_VIEW = "reset_search_view";
public static final String CHANGE_SEARCH_URL = "change_search_url";
}
......@@ -25,6 +25,7 @@ import com.base.browserwhite.bean.ConstObject
import com.base.browserwhite.bean.ConstObject.searchEngineSp
import com.base.browserwhite.bean.SearchRecordBean
import com.base.browserwhite.databinding.ActivitySearchBinding
import com.base.browserwhite.help.Constants
import com.base.browserwhite.help.Constants.CHANGE_SEARCH_URL
import com.base.browserwhite.help.RxBus
import com.base.browserwhite.help.SearchTipUtils.getSearchTip
......@@ -74,6 +75,8 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
RxBus.get().post(CHANGE_SEARCH_URL, link)
overridePendingTransition(0, 0)
}
RxBus.get().post(Constants.RESET_SEARCH_VIEW,1)
setResult(10087)
finish()
}
......@@ -272,24 +275,11 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
val context: Context = button.getContext()
val res: Resources = context.resources
// 将dp单位转换为像素
val startHeight =
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 40f, res.getDisplayMetrics())
.toInt()
val endHeight =
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50f, res.getDisplayMetrics())
.toInt()
val marginEnd =
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30f, res.getDisplayMetrics())
val marginEnd = 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
......@@ -299,7 +289,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
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)
val scaleYAnimator = ObjectAnimator.ofFloat(button, "scaleY", 1f, 50f/44f)
button.pivotX = 0f
button.pivotY = 0f
......
package com.base.browserwhite.ui.activity.webbrowser
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.res.Resources
import android.graphics.Color
import android.util.DisplayMetrics
import android.util.TypedValue
import android.view.KeyEvent
import android.view.View
import android.view.inputmethod.EditorInfo
......@@ -114,8 +120,31 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
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
val reverseScaleXAnimator = ObjectAnimator.ofFloat(binding.clSearch, "scaleX", screenWidth / binding.clSearch.width.toFloat(), 1f)
val reverseScaleYAnimator = ObjectAnimator.ofFloat(binding.clSearch, "scaleY", 50f / 44f, 1f)
// 设置动画持续时间
reverseScaleXAnimator.setDuration(500)
reverseScaleYAnimator.setDuration(500)
val reverseAnimatorSet = AnimatorSet().apply {
playTogether(reverseScaleXAnimator, reverseScaleYAnimator)
}
reverseAnimatorSet.start()
binding.ivShare.visibility = View.VISIBLE
}
}
private fun checkLeftRight() {
......
......@@ -83,6 +83,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
private var searchAction = ::getSpSearchAction
private var searchEngine: String = GOOGLE
private var mChangeSearchType: Observable<String>? = null
private var mResetSearchView: Observable<Int>? = null
@SuppressLint("CheckResult")
override fun setView() {
......@@ -94,6 +95,10 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
LogEx.logDebug("glc", "i:$t")
switchSearch(t)
}
mResetSearchView = RxBus.get().register(Constants.RESET_SEARCH_VIEW, Int::class.java)
mResetSearchView?.observeOn(AndroidSchedulers.mainThread())?.subscribe { t ->
binding.searchLayout.translationY = y
}
newsAdapter = NewsAdapter(
clickAction = { url ->
requireContext().startActivity(
......@@ -159,7 +164,12 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
}
BOOKMARK -> {
requireContext().startActivity(Intent(requireContext(), BookmarkActivity::class.java))
requireContext().startActivity(
Intent(
requireContext(),
BookmarkActivity::class.java
)
)
}
}
......@@ -190,7 +200,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
binding.editWeb.setOnClickListener {
binding.tvCancel.visibility = View.VISIBLE
binding.flScan.visibility = View.GONE
SearchActivity.startActivityWithButtonAnimation(requireActivity(), binding.searchLayout, verticalOffset)
SearchActivity.startActivityWithButtonAnimation(
requireActivity(),
binding.searchLayout,
verticalOffset
)
}
requestMore()
}
......@@ -404,6 +418,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
if (mChangeSearchType != null) {
RxBus.get().unregister(Constants.CHANGE_SEARCH_TYPE, mChangeSearchType!!);
}
if (mResetSearchView != null) {
RxBus.get().unregister(Constants.RESET_SEARCH_VIEW, mResetSearchView!!);
}
}
}
\ No newline at end of file
package com.base.browserwhite.utils
import android.content.Context
import android.util.DisplayMetrics
import android.util.TypedValue
class Utils{
// 扩展函数:dp 转 px
fun Context.dpToPx(dp: Float): Float {
val metrics = resources.displayMetrics
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, metrics)
}
}
......@@ -126,10 +126,10 @@
android:layout_weight="1">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginVertical="10dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_search_tip" />
......
......@@ -9,17 +9,34 @@
tools:context=".ui.activity.webbrowser.WebBrowserActivity">
<LinearLayout
<RelativeLayout
android:id="@+id/ll_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_alignParentRight="true"
android:layout_marginStart="5dp"
android:layout_marginEnd="20dp"
android:layout_centerVertical="true"
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
android:id="@+id/cl_search"
android:layout_width="290dp"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_toLeftOf="@+id/iv_share"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="15dp"
android:layout_marginVertical="16dp"
......@@ -104,20 +121,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/iv_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp"
android:layout_marginEnd="20dp"
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" />
</LinearLayout>
</RelativeLayout>
<FrameLayout
......
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