Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
B
Browser White
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Browser White
Commits
5d650dc8
Commit
5d650dc8
authored
Sep 04, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
32161eea
ab61a7ef
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
51 additions
and
62 deletions
+51
-62
SearchActivity.kt
...om/base/browserwhite/ui/activity/search/SearchActivity.kt
+8
-27
WebBrowserActivity.kt
...browserwhite/ui/activity/webbrowser/WebBrowserActivity.kt
+27
-22
Utils.kt
app/src/main/java/com/base/browserwhite/utils/Utils.kt
+11
-2
activity_web_browser.xml
app/src/main/res/layout/activity_web_browser.xml
+5
-11
No files found.
app/src/main/java/com/base/browserwhite/ui/activity/search/SearchActivity.kt
View file @
5d650dc8
...
@@ -20,6 +20,7 @@ import android.view.inputmethod.InputMethodManager
...
@@ -20,6 +20,7 @@ import android.view.inputmethod.InputMethodManager
import
android.widget.LinearLayout
import
android.widget.LinearLayout
import
android.widget.TextView
import
android.widget.TextView
import
androidx.core.widget.addTextChangedListener
import
androidx.core.widget.addTextChangedListener
import
com.base.browserwhite.MyApplication
import
com.base.browserwhite.R
import
com.base.browserwhite.R
import
com.base.browserwhite.bean.ConstObject
import
com.base.browserwhite.bean.ConstObject
import
com.base.browserwhite.bean.ConstObject.searchEngineSp
import
com.base.browserwhite.bean.ConstObject.searchEngineSp
...
@@ -38,6 +39,8 @@ import com.base.browserwhite.utils.LinkSearchUtils
...
@@ -38,6 +39,8 @@ import com.base.browserwhite.utils.LinkSearchUtils
import
com.base.browserwhite.utils.LogEx
import
com.base.browserwhite.utils.LogEx
import
com.base.browserwhite.utils.SpBeanUtils
import
com.base.browserwhite.utils.SpBeanUtils
import
com.base.browserwhite.utils.SpBeanUtils.SEARCH_RECORD_SP_KEY
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.FlexDirection
import
com.google.android.flexbox.FlexWrap
import
com.google.android.flexbox.FlexWrap
import
com.google.android.flexbox.FlexboxLayoutManager
import
com.google.android.flexbox.FlexboxLayoutManager
...
@@ -69,13 +72,14 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
...
@@ -69,13 +72,14 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
if
(
isHomeSearch
)
{
if
(
isHomeSearch
)
{
startActivity
(
Intent
(
this
,
WebBrowserActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
WebBrowserActivity
::
class
.
java
).
apply
{
putExtra
(
"url"
,
link
)
putExtra
(
"url"
,
link
)
putExtra
(
"action"
,
"search"
)
addFlags
(
Intent
.
FLAG_ACTIVITY_NO_ANIMATION
)
addFlags
(
Intent
.
FLAG_ACTIVITY_NO_ANIMATION
)
})
})
}
else
{
}
else
{
RxBus
.
get
().
post
(
CHANGE_SEARCH_URL
,
link
)
RxBus
.
get
().
post
(
CHANGE_SEARCH_URL
,
link
)
setResult
(
10087
)
}
}
RxBus
.
get
().
post
(
Constants
.
RESET_SEARCH_VIEW
,
1
)
RxBus
.
get
().
post
(
Constants
.
RESET_SEARCH_VIEW
,
1
)
setResult
(
10087
)
finish
()
finish
()
overridePendingTransition
(
0
,
0
)
overridePendingTransition
(
0
,
0
)
}
}
...
@@ -86,14 +90,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
...
@@ -86,14 +90,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
isHomeSearch
=
intent
.
extras
?.
getBoolean
(
"isHomeSearch"
)
?:
true
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
)
switchSearch
(
searchEngineSp
)
searchAdapter
=
SearchAdapter
()
searchAdapter
=
SearchAdapter
()
...
@@ -242,8 +238,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
...
@@ -242,8 +238,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
var
searchContent
:
String
=
""
var
searchContent
:
String
=
""
fun
startActivityWithButtonAnimation
(
currentActivity
:
Activity
,
button
:
View
,
verticalOffset
:
Int
)
{
fun
startActivityWithButtonAnimation
(
currentActivity
:
Activity
,
button
:
View
,
verticalOffset
:
Int
)
{
val
finalPosition
=
val
finalPosition
=
MyApplication
.
context
.
dpToPx
(
16f
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
16f
,
currentActivity
.
resources
.
displayMetrics
).
toInt
()
val
buttonTop
=
button
.
top
-
finalPosition
val
buttonTop
=
button
.
top
-
finalPosition
val
distanceToTop
=
-
buttonTop
-
verticalOffset
val
distanceToTop
=
-
buttonTop
-
verticalOffset
val
animator
=
ObjectAnimator
.
ofFloat
(
button
,
"translationY"
,
button
.
translationY
,
distanceToTop
.
toFloat
())
val
animator
=
ObjectAnimator
.
ofFloat
(
button
,
"translationY"
,
button
.
translationY
,
distanceToTop
.
toFloat
())
...
@@ -271,23 +266,9 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
...
@@ -271,23 +266,9 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
button
:
View
,
button
:
View
,
verticalOffset
:
Int
verticalOffset
:
Int
)
{
)
{
val
marginEnd
=
MyApplication
.
context
.
dpToPx
(
30f
)
val
context
:
Context
=
button
.
getContext
()
val
screenWidth
=
Utils
.
getScreenWidth
(
MyApplication
.
context
)
-
marginEnd
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
x
=
screenWidth
.
toFloat
()
/
button
.
width
.
toFloat
()
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
scaleXAnimator
=
ObjectAnimator
.
ofFloat
(
button
,
"scaleX"
,
1f
,
x
)
val
scaleYAnimator
=
ObjectAnimator
.
ofFloat
(
button
,
"scaleY"
,
1f
,
50f
/
44f
)
val
scaleYAnimator
=
ObjectAnimator
.
ofFloat
(
button
,
"scaleY"
,
1f
,
50f
/
44f
)
button
.
pivotX
=
0f
button
.
pivotX
=
0f
...
...
app/src/main/java/com/base/browserwhite/ui/activity/webbrowser/WebBrowserActivity.kt
View file @
5d650dc8
...
@@ -8,6 +8,7 @@ import android.content.Context
...
@@ -8,6 +8,7 @@ import android.content.Context
import
android.content.Intent
import
android.content.Intent
import
android.content.res.Resources
import
android.content.res.Resources
import
android.graphics.Color
import
android.graphics.Color
import
android.text.TextUtils
import
android.util.DisplayMetrics
import
android.util.DisplayMetrics
import
android.util.TypedValue
import
android.util.TypedValue
import
android.view.KeyEvent
import
android.view.KeyEvent
...
@@ -19,6 +20,7 @@ import androidx.core.view.updatePadding
...
@@ -19,6 +20,7 @@ import androidx.core.view.updatePadding
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentTransaction
import
androidx.fragment.app.FragmentTransaction
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
com.base.browserwhite.MyApplication
import
com.base.browserwhite.R
import
com.base.browserwhite.R
import
com.base.browserwhite.ads.AdmobMaxHelper
import
com.base.browserwhite.ads.AdmobMaxHelper
import
com.base.browserwhite.ads.AdmobMaxHelper.lastShowInter
import
com.base.browserwhite.ads.AdmobMaxHelper.lastShowInter
...
@@ -47,6 +49,8 @@ import com.base.browserwhite.utils.LinkSearchUtils.getYandexSearch
...
@@ -47,6 +49,8 @@ import com.base.browserwhite.utils.LinkSearchUtils.getYandexSearch
import
com.base.browserwhite.utils.LinkSearchUtils.handleInput
import
com.base.browserwhite.utils.LinkSearchUtils.handleInput
import
com.base.browserwhite.utils.SpBeanUtils
import
com.base.browserwhite.utils.SpBeanUtils
import
com.base.browserwhite.utils.SpBeanUtils.BOOKMARK_SP_KEY
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.android.schedulers.AndroidSchedulers
import
io.reactivex.rxjava3.core.Observable
import
io.reactivex.rxjava3.core.Observable
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.delay
...
@@ -115,35 +119,36 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
...
@@ -115,35 +119,36 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
}
}
addNewWebSite
(
url
)
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
?)
{
override
fun
onActivityResult
(
requestCode
:
Int
,
resultCode
:
Int
,
data
:
Intent
?)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
)
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
)
if
(
requestCode
==
10087
){
if
(
requestCode
==
10087
){
val
context
:
Context
=
binding
.
clSearch
.
getContext
()
resetSearchLayout
()
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
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
{
playTogether
(
reverseScaleXAnimator
,
reverseScaleYAnimator
)
}
}
reverseAnimatorSet
.
start
()
binding
.
ivShare
.
visibility
=
View
.
VISIBLE
}
}
...
...
app/src/main/java/com/base/browserwhite/utils/Utils.kt
View file @
5d650dc8
package
com.base.browserwhite.utils
package
com.base.browserwhite.utils
import
android.content.Context
import
android.content.Context
import
android.os.Build
import
android.util.DisplayMetrics
import
android.util.DisplayMetrics
import
android.util.TypedValue
import
android.util.TypedValue
class
Utils
{
import
android.view.WindowManager
object
Utils
{
// 扩展函数:dp 转 px
// 扩展函数:dp 转 px
fun
Context
.
dpToPx
(
dp
:
Float
):
Float
{
fun
Context
.
dpToPx
(
dp
:
Float
):
Float
{
...
@@ -11,6 +14,12 @@ class Utils{
...
@@ -11,6 +14,12 @@ class Utils{
return
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
dp
,
metrics
)
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
}
}
}
app/src/main/res/layout/activity_web_browser.xml
View file @
5d650dc8
...
@@ -12,7 +12,8 @@
...
@@ -12,7 +12,8 @@
<RelativeLayout
<RelativeLayout
android:id=
"@+id/ll_top"
android:id=
"@+id/ll_top"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"16dp"
android:layout_height=
"50dp"
android:orientation=
"horizontal"
android:orientation=
"horizontal"
app:layout_constraintTop_toTopOf=
"parent"
>
app:layout_constraintTop_toTopOf=
"parent"
>
...
@@ -22,14 +23,8 @@
...
@@ -22,14 +23,8 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentEnd=
"true"
android:layout_alignParentEnd=
"true"
android:layout_centerVertical=
"true"
android:layout_centerVertical=
"true"
android:layout_gravity=
"center_vertical"
android:layout_marginRight=
"15dp"
android:layout_marginStart=
"5dp"
android:layout_marginEnd=
"20dp"
android:src=
"@mipmap/fenxiang"
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"
/>
tools:ignore=
"ContentDescription"
/>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
...
@@ -38,8 +33,7 @@
...
@@ -38,8 +33,7 @@
android:layout_height=
"44dp"
android:layout_height=
"44dp"
android:layout_gravity=
"center_vertical"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"15dp"
android:layout_marginHorizontal=
"15dp"
android:layout_marginTop=
"16dp"
android:layout_toLeftOf=
"@+id/iv_share"
android:layout_toStartOf=
"@+id/iv_share"
android:background=
"@drawable/bg_stroke_070709"
android:background=
"@drawable/bg_stroke_070709"
android:orientation=
"horizontal"
android:orientation=
"horizontal"
tools:ignore=
"InefficientWeight"
>
tools:ignore=
"InefficientWeight"
>
...
@@ -127,7 +121,7 @@
...
@@ -127,7 +121,7 @@
android:id=
"@+id/container"
android:id=
"@+id/container"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_height=
"0dp"
android:
padding
Top=
"16dp"
android:
layout_margin
Top=
"16dp"
app:layout_constraintBottom_toTopOf=
"@id/cl_bottom"
app:layout_constraintBottom_toTopOf=
"@id/cl_bottom"
app:layout_constraintTop_toBottomOf=
"@id/ll_top"
app:layout_constraintTop_toBottomOf=
"@id/ll_top"
tools:ignore=
"UselessLeaf"
/>
tools:ignore=
"UselessLeaf"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment