Commit d1da35bc authored by wanglei's avatar wanglei

...

parent 28c9746b
......@@ -2,7 +2,9 @@ package com.base.browserwhite.ui.activity.bookmark
import android.annotation.SuppressLint
import android.content.Intent
import android.view.View
import androidx.core.view.isVisible
import androidx.core.widget.addTextChangedListener
import com.base.browserwhite.R
import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.databinding.FragmentBookmarkBinding
......@@ -17,6 +19,8 @@ import com.google.gson.Gson
class BookmarkFragment : BaseFragment<FragmentBookmarkBinding>() {
private val TAG = "BookmarkFragment"
override val binding: FragmentBookmarkBinding by lazy {
FragmentBookmarkBinding.inflate(layoutInflater)
}
......@@ -103,6 +107,37 @@ class BookmarkFragment : BaseFragment<FragmentBookmarkBinding>() {
initData()
}
override fun setListener() {
super.setListener()
binding.editSearch.addTextChangedListener {
if (it.isNullOrEmpty()) {
showAllList()
binding.tvCancel.visibility = View.GONE
return@addTextChangedListener
} else {
binding.tvCancel.visibility = View.VISIBLE
filterList(it.toString())
}
}
binding.tvCancel.setOnClickListener {
binding.editSearch.setText("")
binding.tvCancel.visibility = View.GONE
}
}
private fun filterList(content: String) {
val filterList = bookmarkList.filter { it.folderId == bookmarkAdapter.currentFolderId }.filter { it.name.contains(content) }
binding.llEmpty.isVisible = filterList.isEmpty()
bookmarkAdapter.submitList(filterList)
}
private fun showAllList() {
val list = bookmarkList.filter { it.folderId == bookmarkAdapter.currentFolderId }
binding.llEmpty.isVisible = list.isEmpty()
bookmarkAdapter.submitList(list)
}
fun initData() {
if (!viewInit) return
......
......@@ -2,18 +2,23 @@ package com.base.browserwhite.ui.views
import android.app.AlertDialog
import android.content.Context
import android.content.Context.WINDOW_SERVICE
import android.util.DisplayMetrics
import android.util.Log
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.WindowManager
import android.widget.FrameLayout
import com.base.browserwhite.R
import com.base.browserwhite.databinding.DialogBookmarkMoreBinding
import com.base.browserwhite.ui.activity.splash.Splash2Activity
import com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import com.base.browserwhite.utils.ShortcutUtils
import com.base.browserwhite.utils.LogEx
object BookmarkDialog {
private val TAG = "BookmarkDialog"
fun Context.showBookmarkMoreDialog(
anchorView: View,
uiType: Int = -1,//-1所有展示
......@@ -33,21 +38,13 @@ object BookmarkDialog {
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
val params = dialog.window?.attributes
params?.dimAmount = 0f
params?.width = resources.getDimensionPixelOffset(R.dimen.dp_250)
// params?.width = FrameLayout.LayoutParams.WRAP_CONTENT
params?.height = FrameLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.TOP
val location = IntArray(2)
anchorView.getLocationOnScreen(location)
params?.x = resources.getDimensionPixelOffset(R.dimen.dp_100)
params?.y = location[1] - resources.getDimensionPixelOffset(R.dimen.dp_150)
dialog.window?.attributes = params
var itemCount = 7
when (uiType) {
-1 -> {
binding.llAddBookmark.visibility = View.GONE
binding.vAddBookmark.visibility = View.GONE
itemCount = 6
}
0 -> {
......@@ -62,6 +59,8 @@ object BookmarkDialog {
binding.llAddDesktop.visibility = View.GONE
binding.vAddDesktop.visibility = View.GONE
itemCount = 3
}
1 -> {
......@@ -72,10 +71,50 @@ object BookmarkDialog {
binding.vEdit.visibility = View.GONE
binding.llSelect.visibility = View.GONE
itemCount = 3
}
}
val params = dialog.window?.attributes
params?.dimAmount = 0f
params?.width = resources.getDimensionPixelOffset(R.dimen.dp_280)
// params?.width = FrameLayout.LayoutParams.WRAP_CONTENT
params?.height = FrameLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.TOP
val location = IntArray(2)
val isTopHalf = viewIsTopHalf(anchorView)
LogEx.logDebug(TAG, "isTopHalf=$isTopHalf")
anchorView.getLocationOnScreen(location)
LogEx.logDebug(TAG, "anchorView x=${location[0]}")
LogEx.logDebug(TAG, "anchorView y=${location[1]}")
// LogEx.logDebug(TAG, "height=${binding.root.height}")
// LogEx.logDebug(TAG, "width=${binding.root.width}")
LogEx.logDebug(TAG, "itemCount=$itemCount")
val x = location[0] - resources.getDimensionPixelOffset(R.dimen.dp_290)
val y = if (isTopHalf) {
location[1] + resources.getDimensionPixelOffset(R.dimen.dp_2)
} else {
var margin = resources.getDimensionPixelOffset(R.dimen.dp_35)
if (itemCount == 3) {
margin = resources.getDimensionPixelOffset(R.dimen.dp_50)
}
val offSetY =
itemCount * resources.getDimensionPixelOffset(R.dimen.dp_65) + margin
LogEx.logDebug(TAG, "offSetY=$offSetY")
location[1] - offSetY
}
LogEx.logDebug(TAG, "x=$x")
//598 576
LogEx.logDebug(TAG, "y=$y")
params?.x = x
params?.y = y
dialog.window?.attributes = params
binding.llOpenNewTab.setOnClickListener {
dialog.dismiss()
openNewTab?.invoke()
......@@ -106,4 +145,33 @@ object BookmarkDialog {
selectAction?.invoke()
}
}
fun Context.viewIsTopHalf(view: View): Boolean {
val location = IntArray(2)
view.getLocationOnScreen(location)
val windowManager = getSystemService(WINDOW_SERVICE) as WindowManager
val dm = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(dm)
val screenHeight = dm.heightPixels
// 判断视图的顶部是否在屏幕的上半部分
val isTopHalf = location[1] < screenHeight / 2
// 判断视图的底部是否在屏幕的上半部分
val isBottomHalf = location[1] + view.height < screenHeight / 2
return if (isTopHalf) {
// 视图的顶部在屏幕的上半部分
true
} else if (isBottomHalf) {
// 视图的底部在屏幕的上半部分
true
} else {
// 视图在屏幕的下半部分
false
}
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_ffffff_15" android:state_selected="true" />
<item android:drawable="@drawable/bg_ffffff_10" android:state_selected="true" />
<item android:drawable="@android:color/transparent" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="26dp" />
<solid android:color="#EEF1F6" />
</shape>
\ No newline at end of file
......@@ -3,6 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
......@@ -55,7 +56,7 @@
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:background="@drawable/bg_eef1f6_15"
android:padding="5dp"
android:padding="4dp"
android:text="Feedback"
android:textSize="19sp"
android:textStyle="bold"
......@@ -75,8 +76,9 @@
android:layout_gravity="center_vertical"
android:background="@drawable/bg_border_selector_bookmark"
android:gravity="center"
android:includeFontPadding="false"
android:paddingHorizontal="12dp"
android:paddingVertical="11dp"
android:paddingVertical="10dp"
android:text="Bookmark"
android:textColor="@color/color_tab_bookmark"
android:textSize="18sp" />
......@@ -89,8 +91,9 @@
android:layout_marginStart="12dp"
android:background="@drawable/bg_border_selector_bookmark"
android:gravity="center"
android:includeFontPadding="false"
android:paddingHorizontal="12dp"
android:paddingVertical="11dp"
android:paddingVertical="10dp"
android:text="History"
android:textColor="@color/color_tab_bookmark"
android:textSize="18sp" />
......@@ -134,7 +137,6 @@
android:id="@+id/viewPager2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginVertical="10dp"
android:layout_weight="1" />
<FrameLayout
......
......@@ -6,7 +6,7 @@
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView
android:layout_width="230dp"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:cardBackgroundColor="@color/white"
......@@ -14,6 +14,7 @@
app:cardElevation="5dp">
<LinearLayout
android:paddingVertical="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
......@@ -22,7 +23,7 @@
android:id="@+id/ll_open_new_tab"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
......@@ -52,13 +53,14 @@
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="16dp"
android:background="#E5E6EB" />
<LinearLayout
android:id="@+id/ll_delete"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
......@@ -86,13 +88,14 @@
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="16dp"
android:background="#E5E6EB" />
<LinearLayout
android:id="@+id/ll_edit"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
......@@ -121,13 +124,14 @@
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="16dp"
android:background="#E5E6EB" />
<LinearLayout
android:id="@+id/ll_add_bookmark"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
......@@ -156,13 +160,14 @@
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="16dp"
android:background="#E5E6EB" />
<LinearLayout
android:id="@+id/ll_add_navigation"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
......@@ -191,13 +196,14 @@
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="16dp"
android:background="#E5E6EB" />
<LinearLayout
android:id="@+id/ll_add_desktop"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
......@@ -226,13 +232,14 @@
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="16dp"
android:background="#E5E6EB" />
<LinearLayout
android:id="@+id/ll_select"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="8dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="?android:attr/selectableItemBackground"
tools:ignore="UseCompoundDrawables">
......
......@@ -7,14 +7,49 @@
android:orientation="vertical"
tools:context=".ui.activity.bookmark.BookmarkFragment">
<SearchView
<LinearLayout
android:layout_marginTop="4dp"
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_height="46dp"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="6dp"
android:background="@drawable/bg_eef1f6_15"
android:queryHint="Search" />
android:background="@drawable/bg_eef1f6_26"
android:orientation="horizontal"
android:queryHint="Search">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:src="@mipmap/search_bookmark"
tools:ignore="ContentDescription" />
<EditText
android:id="@+id/edit_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp"
android:layout_weight="1"
android:background="@null"
android:hint="search"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="Autofill,HardcodedText,LabelFor,TextFields" />
<TextView
android:id="@+id/tv_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="15dp"
android:text="Cancel"
android:textColor="#0571ED"
android:visibility="gone"
tools:ignore="HardcodedText" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
......
......@@ -9,9 +9,9 @@
<androidx.cardview.widget.CardView
android:id="@+id/card"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginVertical="4dp"
android:layout_width="29dp"
android:layout_height="29dp"
android:layout_marginVertical="16dp"
android:layout_marginStart="15dp"
app:cardElevation="0dp"
app:layout_constraintBottom_toBottomOf="parent"
......@@ -22,6 +22,7 @@
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:src="@mipmap/wenjiajia_bookmark"
tools:ignore="ContentDescription" />
......@@ -55,6 +56,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:includeFontPadding="false"
android:singleLine="true"
android:text="My Favorite"
android:textColor="#010101"
......@@ -92,14 +94,13 @@
<View
android:id="@+id/v"
android:layout_width="0dp"
android:layout_height="1px"
android:layout_marginTop="20dp"
android:layout_marginBottom="2dp"
android:layout_marginBottom="1px"
android:background="#E5E6EB"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/ll"
app:layout_constraintTop_toBottomOf="@id/ll" />
app:layout_constraintStart_toStartOf="@id/ll" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -39,6 +39,7 @@
android:layout_marginTop="4dp"
android:layout_marginBottom="5dp"
android:text="Clean"
android:textColor="@color/black"
tools:ignore="HardcodedText" />
</LinearLayout>
......@@ -69,6 +70,7 @@
android:layout_marginTop="4dp"
android:layout_marginBottom="5dp"
android:text="News"
android:textColor="@color/black"
tools:ignore="HardcodedText" />
</LinearLayout>
......@@ -99,6 +101,7 @@
android:layout_marginTop="4dp"
android:layout_marginBottom="5dp"
android:text="Process"
android:textColor="@color/black"
tools:ignore="HardcodedText" />
</LinearLayout>
......@@ -129,6 +132,7 @@
android:layout_marginTop="4dp"
android:layout_marginBottom="5dp"
android:text="Bookmark"
android:textColor="@color/black"
tools:ignore="HardcodedText" />
</LinearLayout>
......
......@@ -32,4 +32,17 @@ http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
<dimen name="sp_18">18sp</dimen>
<dimen name="dp_40">40dp</dimen>
<dimen name="dp_10">10dp</dimen>
<dimen name="dp_350">350dp</dimen>
<dimen name="dp_260">260dp</dimen>
<dimen name="dp_280">280dp</dimen>
<dimen name="dp_320">320dp</dimen>
<dimen name="dp_290">290dp</dimen>
<dimen name="dp_2">2dp</dimen>
<dimen name="dp_24">24dp</dimen>
<dimen name="dp_60">60dp</dimen>
<dimen name="dp_65">65dp</dimen>
<dimen name="dp_80">80dp</dimen>
<dimen name="dp_120">120dp</dimen>
<dimen name="dp_45">45dp</dimen>
<dimen name="dp_35">35dp</dimen>
</resources>
\ No newline at end of file
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