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
749c94f8
Commit
749c94f8
authored
Sep 03, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
f081fc38
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
68 additions
and
76 deletions
+68
-76
SearchTipBean.kt
...src/main/java/com/base/browserwhite/bean/SearchTipBean.kt
+4
-2
SearchActivity.kt
...om/base/browserwhite/ui/activity/search/SearchActivity.kt
+19
-54
SearchRecordAdapter.kt
...se/browserwhite/ui/activity/search/SearchRecordAdapter.kt
+15
-0
activity_search.xml
app/src/main/res/layout/activity_search.xml
+3
-11
item_searchrecord.xml
app/src/main/res/layout/item_searchrecord.xml
+27
-9
del_searchrecord.png
app/src/main/res/mipmap-xxhdpi/del_searchrecord.png
+0
-0
No files found.
app/src/main/java/com/base/browserwhite/bean/SearchTipBean.kt
View file @
749c94f8
package
com.base.browserwhite.bean
class
SearchRecordBean
(
val
content
:
String
)
:
SpBean
()
\ No newline at end of file
val
content
:
String
=
""
)
:
SpBean
(){
var
isDelete
:
Boolean
=
false
}
\ No newline at end of file
app/src/main/java/com/base/browserwhite/ui/activity/search/SearchActivity.kt
View file @
749c94f8
...
...
@@ -4,15 +4,14 @@ import android.animation.Animator
import
android.animation.ObjectAnimator
import
android.annotation.SuppressLint
import
android.app.Activity
import
android.app.Dialog
import
android.content.Intent
import
android.graphics.Color
import
android.os.Handler
import
android.util.TypedValue
import
android.view.Gravity
import
android.view.View
import
android.widget.LinearLayout
import
android.widget.TextView
import
androidx.core.content.ContextCompat
import
androidx.core.widget.addTextChangedListener
import
com.base.browserwhite.R
import
com.base.browserwhite.bean.ConstObject
...
...
@@ -22,6 +21,7 @@ import com.base.browserwhite.databinding.ActivitySearchBinding
import
com.base.browserwhite.help.SearchTipUtils.getSearchTip
import
com.base.browserwhite.ui.activity.BaseActivity
import
com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import
com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog
import
com.base.browserwhite.utils.BarUtils.setStatusBarColor
import
com.base.browserwhite.utils.BarUtils.setStatusBarLightMode
import
com.base.browserwhite.utils.LinkSearchUtils
...
...
@@ -31,7 +31,6 @@ import com.google.android.flexbox.FlexDirection
import
com.google.android.flexbox.FlexWrap
import
com.google.android.flexbox.FlexboxLayoutManager
import
com.google.android.flexbox.JustifyContent
import
com.google.android.material.chip.Chip
import
com.google.gson.Gson
...
...
@@ -65,10 +64,23 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
startActivity
(
Intent
(
this
,
WebBrowserActivity
::
class
.
java
).
apply
{
putExtra
(
"url"
,
LinkSearchUtils
.
getSpSearchAction
(
content
))
})
finish
()
}
binding
.
rv
.
adapter
=
searchAdapter
searchRecordAdapter
=
SearchRecordAdapter
()
searchRecordAdapter
.
jumpAction
=
{
content
->
startActivity
(
Intent
(
this
,
WebBrowserActivity
::
class
.
java
).
apply
{
putExtra
(
"url"
,
LinkSearchUtils
.
getSpSearchAction
(
content
))
})
finish
()
}
searchRecordAdapter
.
deleteAction
=
{
showDeleteTipDialog
(
desc
=
"Clear all search records?"
)
{
SpBeanUtils
.
clearSpBean
(
SEARCH_RECORD_SP_KEY
)
showSearchRecord
()
}
}
val
layoutManager
=
FlexboxLayoutManager
(
this
)
// 设置主轴排列方向
layoutManager
.
flexDirection
=
FlexDirection
.
ROW
...
...
@@ -77,7 +89,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
// 设置水平对齐方式
layoutManager
.
justifyContent
=
JustifyContent
.
FLEX_START
binding
.
rvFlow
.
layoutManager
=
layoutManager
binding
.
rvFlow
.
adapter
=
searchAdapter
binding
.
rvFlow
.
adapter
=
search
Record
Adapter
showSearchRecord
()
}
...
...
@@ -97,8 +109,8 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
return
@addTextChangedListener
}
binding
.
rv
.
visibility
=
View
.
VISIBLE
binding
.
chipGroup
.
visibility
=
View
.
GONE
binding
.
tvCancel
.
visibility
=
View
.
GONE
binding
.
rvFlow
.
visibility
=
View
.
GONE
binding
.
ivClear
.
visibility
=
View
.
VISIBLE
binding
.
tvSearch
.
visibility
=
View
.
VISIBLE
...
...
@@ -141,23 +153,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
binding
.
tvCancel
.
setOnClickListener
{
onBackPressed
()
}
// binding.chipGroup.setOnCheckedStateChangeListener { chipGroup, ints ->
// val id = ints[0]
// if (id == -1) {
//
// } else {
// val bean = searchRecordList.find { it.id == id.toLong() }
// if (bean != null) {
// startActivity(Intent(this, WebBrowserActivity::class.java).apply {
// putExtra("url", LinkSearchUtils.getSpSearchAction(bean.content))
// addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
// })
// chipGroup.isClickable = false
// }
// }
//
// }
}
private
fun
querySearchTip
(
query
:
String
)
{
...
...
@@ -261,7 +256,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
private
val
searchRecordList
=
arrayListOf
<
SearchRecordBean
>()
private
fun
showSearchRecord
()
{
binding
.
chipGroup
.
visibility
=
View
.
VISIBLE
binding
.
rv
.
visibility
=
View
.
GONE
binding
.
rvFlow
.
visibility
=
View
.
VISIBLE
...
...
@@ -272,37 +266,8 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
}
searchRecordList
.
addAll
(
list
)
searchRecordAdapter
.
submitList
(
searchRecordList
)
list
.
forEach
{
val
chip
=
Chip
(
this
)
chip
.
id
=
it
.
id
.
toInt
()
chip
.
text
=
it
.
content
chip
.
setTextColor
(
Color
.
BLACK
)
chip
.
textSize
=
14f
chip
.
background
=
ContextCompat
.
getDrawable
(
this
,
R
.
drawable
.
bg_eef1f6_20
)
chip
.
isCheckable
=
true
chip
.
isCheckedIconVisible
=
false
chip
.
height
=
this
.
resources
.
getDimensionPixelOffset
(
R
.
dimen
.
dp_40
)
binding
.
chipGroup
.
addView
(
chip
)
if
(
list
.
isNotEmpty
())
{
searchRecordAdapter
.
add
(
SearchRecordBean
().
apply
{
isDelete
=
true
})
}
val
deleteChip
=
Chip
(
this
)
deleteChip
.
id
=
-
1
deleteChip
.
text
=
""
deleteChip
.
isCheckable
=
true
deleteChip
.
isCheckedIconVisible
=
false
deleteChip
.
isChipIconVisible
=
true
deleteChip
.
chipIcon
=
ContextCompat
.
getDrawable
(
this
,
R
.
mipmap
.
del_chip
)
deleteChip
.
gravity
=
Gravity
.
CENTER
deleteChip
.
setChipIconSizeResource
(
R
.
dimen
.
dp_20
)
deleteChip
.
iconStartPadding
=
this
.
resources
.
getDimension
(
R
.
dimen
.
dp_15
)
deleteChip
.
height
=
this
.
resources
.
getDimensionPixelOffset
(
R
.
dimen
.
dp_40
)
deleteChip
.
width
=
this
.
resources
.
getDimensionPixelOffset
(
R
.
dimen
.
dp_40
)
binding
.
chipGroup
.
addView
(
deleteChip
)
}
}
app/src/main/java/com/base/browserwhite/ui/activity/search/SearchRecordAdapter.kt
View file @
749c94f8
...
...
@@ -3,6 +3,7 @@ package com.base.browserwhite.ui.activity.search
import
android.content.Context
import
android.view.View
import
android.view.ViewGroup
import
androidx.core.view.isVisible
import
androidx.recyclerview.widget.RecyclerView.ViewHolder
import
com.base.browserwhite.R
import
com.base.browserwhite.bean.SearchRecordBean
...
...
@@ -15,10 +16,24 @@ class SearchRecordAdapter : BaseQuickAdapter<SearchRecordBean, SearchRecordAdapt
}
var
jumpAction
:
((
content
:
String
)
->
Unit
)?
=
null
var
deleteAction
:
(()
->
Unit
)?
=
null
override
fun
onBindViewHolder
(
holder
:
SearchRecordViewHolder
,
position
:
Int
,
item
:
SearchRecordBean
?)
{
if
(
item
==
null
)
return
val
binding
=
ItemSearchrecordBinding
.
bind
(
holder
.
itemView
)
binding
.
ivDelete
.
isVisible
=
item
.
isDelete
binding
.
tvContent
.
isVisible
=
!
item
.
isDelete
binding
.
tvContent
.
text
=
item
.
content
binding
.
tvContent
.
setOnClickListener
{
jumpAction
?.
invoke
(
item
.
content
)
}
binding
.
ivDelete
.
setOnClickListener
{
deleteAction
?.
invoke
()
}
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
SearchRecordViewHolder
{
...
...
app/src/main/res/layout/activity_search.xml
View file @
749c94f8
...
...
@@ -130,20 +130,12 @@
tools:listitem=
"@layout/item_search_tip"
/>
<com.google.android.material.chip.ChipGroup
android:id=
"@+id/chipGroup"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:padding=
"30dp"
android:visibility=
"gone"
app:chipSpacingHorizontal=
"20dp"
app:singleSelection=
"true"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_flow"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
android:layout_height=
"match_parent"
android:padding=
"15dp"
android:visibility=
"gone"
/>
</FrameLayout>
...
...
app/src/main/res/layout/item_searchrecord.xml
View file @
749c94f8
<?xml version="1.0" encoding="utf-8"?>
<
TextView
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"10dp"
android:background=
"@drawable/bg_eef1f6_20"
>
<TextView
android:id=
"@+id/tv_content"
android:layout_height=
"match_parent"
android:background=
"@drawable/bg_eef1f6_20"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:paddingHorizontal=
"15dp"
android:paddingVertical=
"12.5dp"
android:textColor=
"@color/black"
android:visibility=
"gone"
tools:text=
"www.youtube.com"
/>
<ImageView
android:id=
"@+id/iv_delete"
android:layout_width=
"40dp"
android:layout_height=
"40dp"
android:layout_gravity=
"center"
android:src=
"@mipmap/del_searchrecord"
android:visibility=
"gone"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
app/src/main/res/mipmap-xxhdpi/del_searchrecord.png
0 → 100644
View file @
749c94f8
5.42 KB
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