Commit d5f23876 authored by wanglei's avatar wanglei

...

parent 474d8319
...@@ -26,6 +26,7 @@ import com.base.browserwhite.MyApplication ...@@ -26,6 +26,7 @@ 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
import com.base.browserwhite.bean.ConstObject.webPrivacy
import com.base.browserwhite.bean.SearchRecordBean import com.base.browserwhite.bean.SearchRecordBean
import com.base.browserwhite.databinding.ActivitySearchBinding import com.base.browserwhite.databinding.ActivitySearchBinding
import com.base.browserwhite.help.Constants import com.base.browserwhite.help.Constants
...@@ -35,6 +36,7 @@ import com.base.browserwhite.help.SearchTipUtils.getSearchTip ...@@ -35,6 +36,7 @@ import com.base.browserwhite.help.SearchTipUtils.getSearchTip
import com.base.browserwhite.ui.activity.BaseActivity import com.base.browserwhite.ui.activity.BaseActivity
import com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity import com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog import com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog
import com.base.browserwhite.ui.views.ViewObject.setEditPrivacy
import com.base.browserwhite.utils.BarUtils.setStatusBarColor import com.base.browserwhite.utils.BarUtils.setStatusBarColor
import com.base.browserwhite.utils.BarUtils.setStatusBarLightMode import com.base.browserwhite.utils.BarUtils.setStatusBarLightMode
import com.base.browserwhite.utils.LinkSearchUtils import com.base.browserwhite.utils.LinkSearchUtils
...@@ -71,13 +73,16 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -71,13 +73,16 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
}, performSearch = { }, performSearch = {
link = LinkSearchUtils.getSpSearchAction(content) link = LinkSearchUtils.getSpSearchAction(content)
}) })
lifecycleScope.launch(Dispatchers.IO) {
val list = SpBeanUtils.getSpBeanList(SEARCH_RECORD_SP_KEY).map { Gson().fromJson(it, SearchRecordBean::class.java) } if (!webPrivacy) {
val old = list.find { TextUtils.equals(it.content, content) } lifecycleScope.launch(Dispatchers.IO) {
if (old != null) { val list = SpBeanUtils.getSpBeanList(SEARCH_RECORD_SP_KEY).map { Gson().fromJson(it, SearchRecordBean::class.java) }
SpBeanUtils.deleteSpBeanCondition(SEARCH_RECORD_SP_KEY, old.id) val old = list.find { TextUtils.equals(it.content, content) }
if (old != null) {
SpBeanUtils.deleteSpBeanCondition(SEARCH_RECORD_SP_KEY, old.id)
}
SpBeanUtils.addSpBean(SEARCH_RECORD_SP_KEY, SearchRecordBean(content))
} }
SpBeanUtils.addSpBean(SEARCH_RECORD_SP_KEY, SearchRecordBean(content))
} }
LogEx.logDebug(TAG, "isHomeSearch=$isHomeSearch") LogEx.logDebug(TAG, "isHomeSearch=$isHomeSearch")
...@@ -96,6 +101,11 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -96,6 +101,11 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
overridePendingTransition(0, 0) overridePendingTransition(0, 0)
} }
override fun onResume() {
super.onResume()
setEditPrivacy(this, binding.editWeb)
}
override fun initView() { override fun initView() {
setStatusBarLightMode(this, true) setStatusBarLightMode(this, true)
setStatusBarColor(this, Color.TRANSPARENT) setStatusBarColor(this, Color.TRANSPARENT)
...@@ -130,7 +140,13 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -130,7 +140,13 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
binding.rvFlow.layoutManager = layoutManager binding.rvFlow.layoutManager = layoutManager
binding.rvFlow.adapter = searchRecordAdapter binding.rvFlow.adapter = searchRecordAdapter
showSearchRecord() if (webPrivacy) {
binding.rv.visibility = View.GONE
binding.rvFlow.visibility = View.GONE
binding.llPrivacyMode.visibility = View.VISIBLE
} else {
showSearchRecord()
}
} }
override fun initListener() { override fun initListener() {
...@@ -144,12 +160,19 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -144,12 +160,19 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
binding.tvCancel.visibility = View.VISIBLE binding.tvCancel.visibility = View.VISIBLE
binding.ivClear.visibility = View.GONE binding.ivClear.visibility = View.GONE
binding.tvSearch.visibility = View.GONE binding.tvSearch.visibility = View.GONE
showSearchRecord() binding.rv.visibility = View.GONE
if (webPrivacy) {
binding.rvFlow.visibility = View.GONE
binding.llPrivacyMode.visibility = View.VISIBLE
} else {
showSearchRecord()
}
return@addTextChangedListener return@addTextChangedListener
} }
binding.rv.visibility = View.VISIBLE binding.rv.visibility = View.VISIBLE
binding.tvCancel.visibility = View.GONE
binding.rvFlow.visibility = View.GONE binding.rvFlow.visibility = View.GONE
binding.llPrivacyMode.visibility = View.GONE
binding.tvCancel.visibility = View.GONE
binding.ivClear.visibility = View.VISIBLE binding.ivClear.visibility = View.VISIBLE
binding.tvSearch.visibility = View.VISIBLE binding.tvSearch.visibility = View.VISIBLE
...@@ -157,9 +180,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -157,9 +180,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
querySearchTip(it.toString()) querySearchTip(it.toString())
} }
binding.editWeb.setOnFocusChangeListener { v, hasFocus -> binding.editWeb.setOnFocusChangeListener { v, hasFocus ->
if (hasFocus) {
}
} }
binding.editWeb.setOnEditorActionListener { v, actionId, event -> binding.editWeb.setOnEditorActionListener { v, actionId, event ->
...@@ -238,6 +258,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -238,6 +258,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
}.start() }.start()
} }
@Deprecated("Deprecated in Java")
@SuppressLint("MissingSuperCall") @SuppressLint("MissingSuperCall")
override fun onBackPressed() { override fun onBackPressed() {
finish() finish()
...@@ -353,6 +374,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -353,6 +374,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
private val searchRecordList = arrayListOf<SearchRecordBean>() private val searchRecordList = arrayListOf<SearchRecordBean>()
private fun showSearchRecord() { private fun showSearchRecord() {
binding.rv.visibility = View.GONE binding.rv.visibility = View.GONE
binding.llPrivacyMode.visibility = View.GONE
binding.rvFlow.visibility = View.VISIBLE binding.rvFlow.visibility = View.VISIBLE
searchRecordList.clear() searchRecordList.clear()
......
...@@ -16,6 +16,7 @@ import android.view.View ...@@ -16,6 +16,7 @@ import android.view.View
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo
import android.widget.TextView import android.widget.TextView
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.core.content.ContextCompat
import androidx.core.view.updatePadding 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
...@@ -28,6 +29,7 @@ import com.base.browserwhite.bean.BookmarkBean ...@@ -28,6 +29,7 @@ import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.bean.ConstObject import com.base.browserwhite.bean.ConstObject
import com.base.browserwhite.bean.ConstObject.GOOGLE import com.base.browserwhite.bean.ConstObject.GOOGLE
import com.base.browserwhite.bean.ConstObject.searchEngineSp import com.base.browserwhite.bean.ConstObject.searchEngineSp
import com.base.browserwhite.bean.ConstObject.webPrivacy
import com.base.browserwhite.databinding.ActivityWebBrowserBinding import com.base.browserwhite.databinding.ActivityWebBrowserBinding
import com.base.browserwhite.help.Constants import com.base.browserwhite.help.Constants
import com.base.browserwhite.help.RxBus import com.base.browserwhite.help.RxBus
...@@ -41,6 +43,7 @@ import com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog ...@@ -41,6 +43,7 @@ import com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog
import com.base.browserwhite.ui.views.DialogViews.showMyAccountDialog import com.base.browserwhite.ui.views.DialogViews.showMyAccountDialog
import com.base.browserwhite.ui.views.DialogViews.showSearchEngineDialog import com.base.browserwhite.ui.views.DialogViews.showSearchEngineDialog
import com.base.browserwhite.ui.views.DialogViews.showWebBrowserMoreDialog import com.base.browserwhite.ui.views.DialogViews.showWebBrowserMoreDialog
import com.base.browserwhite.ui.views.ViewObject.setEditPrivacy
import com.base.browserwhite.utils.BarUtils import com.base.browserwhite.utils.BarUtils
import com.base.browserwhite.utils.LinkSearchUtils.getBaiduSearch import com.base.browserwhite.utils.LinkSearchUtils.getBaiduSearch
import com.base.browserwhite.utils.LinkSearchUtils.getBingSearch import com.base.browserwhite.utils.LinkSearchUtils.getBingSearch
...@@ -248,6 +251,25 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() { ...@@ -248,6 +251,25 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
} }
} }
} }
binding.ivShare.setOnClickListener {
val shareIntent = Intent()
shareIntent.setAction(Intent.ACTION_SEND)
shareIntent.putExtra(Intent.EXTRA_TEXT, currentFragment?.url)
shareIntent.setType("text/plain")
runCatching {
startActivity(shareIntent)
}
}
binding.editWeb.setOnFocusChangeListener { v, hasFocus ->
if (hasFocus) {
binding.editWeb.selectAll()
binding.ivShare.visibility = View.INVISIBLE
SearchActivity.searchContent = binding.editWeb.text.toString()
SearchActivity.startActivityWithButtonExpandAnimation(this, binding.clSearch, 0)
v.clearFocus()
}
}
binding.ivMore.setOnClickListener { binding.ivMore.setOnClickListener {
val json = getAddedBookmarkJson(currentFragment?.bookmarkBean?.url ?: "") val json = getAddedBookmarkJson(currentFragment?.bookmarkBean?.url ?: "")
...@@ -290,31 +312,18 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() { ...@@ -290,31 +312,18 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
}, },
settingAction = { settingAction = {
showMyAccountDialog(launcher) showMyAccountDialog(launcher)
},
privacyAction = {
setEditPrivacy(this, binding.editWeb)
} }
) )
} }
binding.ivShare.setOnClickListener { }
val shareIntent = Intent()
shareIntent.setAction(Intent.ACTION_SEND)
shareIntent.putExtra(Intent.EXTRA_TEXT, currentFragment?.url)
shareIntent.setType("text/plain")
runCatching {
startActivity(shareIntent)
}
}
binding.editWeb.setOnFocusChangeListener { v, hasFocus ->
if (hasFocus) {
binding.editWeb.selectAll()
binding.ivShare.visibility = View.INVISIBLE
SearchActivity.searchContent = binding.editWeb.text.toString()
SearchActivity.startActivityWithButtonExpandAnimation(this, binding.clSearch, 0)
v.clearFocus()
}
}
override fun onResume() {
super.onResume()
setEditPrivacy(this, binding.editWeb)
} }
private fun addNewWebSite(uri: String) { private fun addNewWebSite(uri: String) {
......
...@@ -26,6 +26,7 @@ import android.webkit.WebViewClient ...@@ -26,6 +26,7 @@ import android.webkit.WebViewClient
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.browserwhite.bean.BookmarkBean import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.bean.ConstObject.webPrivacy
import com.base.browserwhite.bean.DownloadBean import com.base.browserwhite.bean.DownloadBean
import com.base.browserwhite.bean.HistoryBean import com.base.browserwhite.bean.HistoryBean
import com.base.browserwhite.databinding.FragmentWebViewBinding import com.base.browserwhite.databinding.FragmentWebViewBinding
...@@ -329,15 +330,17 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() { ...@@ -329,15 +330,17 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
onPageFinished?.invoke(url) onPageFinished?.invoke(url)
onPageFinished = null onPageFinished = null
//添加历史记录 if (!webPrivacy) {
SpBeanUtils.addSpBean( //添加历史记录
HISTORY_SP_KEY, SpBeanUtils.addSpBean(
HistoryBean( HISTORY_SP_KEY,
name = tittle, url = url ?: "", HistoryBean(
time = System.currentTimeMillis(), name = tittle, url = url ?: "",
color = ColorUtils.getRandomColor() time = System.currentTimeMillis(),
color = ColorUtils.getRandomColor()
)
) )
) }
} }
override fun onReceivedSslError( override fun onReceivedSslError(
......
...@@ -2,6 +2,7 @@ package com.base.browserwhite.ui.fragment ...@@ -2,6 +2,7 @@ package com.base.browserwhite.ui.fragment
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent import android.content.Intent
import android.text.TextUtils import android.text.TextUtils
import android.view.KeyEvent import android.view.KeyEvent
...@@ -9,6 +10,7 @@ import android.view.View ...@@ -9,6 +10,7 @@ import android.view.View
import android.view.inputmethod.EditorInfo.IME_ACTION_DONE import android.view.inputmethod.EditorInfo.IME_ACTION_DONE
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.base.browserwhite.R import com.base.browserwhite.R
...@@ -27,6 +29,7 @@ import com.base.browserwhite.bean.ConstObject.NEWS ...@@ -27,6 +29,7 @@ import com.base.browserwhite.bean.ConstObject.NEWS
import com.base.browserwhite.bean.ConstObject.YAHOO import com.base.browserwhite.bean.ConstObject.YAHOO
import com.base.browserwhite.bean.ConstObject.YANDEX import com.base.browserwhite.bean.ConstObject.YANDEX
import com.base.browserwhite.bean.ConstObject.searchEngineSp import com.base.browserwhite.bean.ConstObject.searchEngineSp
import com.base.browserwhite.bean.ConstObject.webPrivacy
import com.base.browserwhite.bean.WebSiteBean import com.base.browserwhite.bean.WebSiteBean
import com.base.browserwhite.bean.defaultValue import com.base.browserwhite.bean.defaultValue
import com.base.browserwhite.bean.webSiteGroupBeanList import com.base.browserwhite.bean.webSiteGroupBeanList
...@@ -51,6 +54,7 @@ import com.base.browserwhite.ui.adapter.HeadWebsiteAdapter ...@@ -51,6 +54,7 @@ import com.base.browserwhite.ui.adapter.HeadWebsiteAdapter
import com.base.browserwhite.ui.adapter.HeaderAdapter import com.base.browserwhite.ui.adapter.HeaderAdapter
import com.base.browserwhite.ui.activity.news.NewsAdapter import com.base.browserwhite.ui.activity.news.NewsAdapter
import com.base.browserwhite.ui.views.DialogViews.showSearchEngineDialog import com.base.browserwhite.ui.views.DialogViews.showSearchEngineDialog
import com.base.browserwhite.ui.views.ViewObject.setEditPrivacy
import com.base.browserwhite.utils.AppPreferences import com.base.browserwhite.utils.AppPreferences
import com.base.browserwhite.utils.ClipboardUtils.copyText import com.base.browserwhite.utils.ClipboardUtils.copyText
import com.base.browserwhite.utils.LinkSearchUtils import com.base.browserwhite.utils.LinkSearchUtils
...@@ -257,7 +261,8 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -257,7 +261,8 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
setWebSiteData() setWebSiteData()
binding.editWeb.setText("") binding.editWeb.text = ""
setEditPrivacy(requireContext(), binding.editWeb)
} }
private fun setWebSiteData() { private fun setWebSiteData() {
......
...@@ -38,6 +38,7 @@ import com.base.browserwhite.utils.ActivityLauncher ...@@ -38,6 +38,7 @@ import com.base.browserwhite.utils.ActivityLauncher
import com.base.browserwhite.utils.AppPreferences import com.base.browserwhite.utils.AppPreferences
import com.base.browserwhite.utils.RoleManagerUtils.isDefaultBrowser import com.base.browserwhite.utils.RoleManagerUtils.isDefaultBrowser
import com.base.browserwhite.utils.RoleManagerUtils.requestRoleBrowser import com.base.browserwhite.utils.RoleManagerUtils.requestRoleBrowser
import com.base.browserwhite.utils.ToastUtils.toast
import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialog
...@@ -339,6 +340,7 @@ object DialogViews { ...@@ -339,6 +340,7 @@ object DialogViews {
historyAction: (() -> Unit)? = null,//历史记录 historyAction: (() -> Unit)? = null,//历史记录
downloadAction: (() -> Unit)? = null,//下载 downloadAction: (() -> Unit)? = null,//下载
settingAction: (() -> Unit)? = null, settingAction: (() -> Unit)? = null,
privacyAction: (() -> Unit)? = null,//隐私模式
) { ) {
val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog) val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog)
...@@ -400,6 +402,12 @@ object DialogViews { ...@@ -400,6 +402,12 @@ object DialogViews {
binding.switchTraceless.isChecked = webPrivacy binding.switchTraceless.isChecked = webPrivacy
binding.switchTraceless.setOnCheckedChangeListener { buttonView, isChecked -> binding.switchTraceless.setOnCheckedChangeListener { buttonView, isChecked ->
webPrivacy = isChecked webPrivacy = isChecked
if (webPrivacy) {
toast("Enable incognito")
} else {
toast("Disable incognito")
}
privacyAction?.invoke()
} }
} }
......
package com.base.browserwhite.ui.views
import android.content.Context
import android.widget.TextView
import androidx.core.content.ContextCompat
import com.base.browserwhite.R
import com.base.browserwhite.bean.ConstObject
object ViewObject {
fun setEditPrivacy(context: Context, view: TextView) {
if (ConstObject.webPrivacy) {
val padding = context.resources.getDimensionPixelOffset(R.dimen.dp_5)
val drawable = ContextCompat.getDrawable(context, R.mipmap.x_wuhen)
drawable?.setBounds(-padding, 0, drawable.intrinsicWidth - padding, drawable.intrinsicHeight)
view.setCompoundDrawables(drawable, null, null, null)
} else {
view.setCompoundDrawables(null, null, null, null)
}
}
}
\ No newline at end of file
...@@ -96,12 +96,12 @@ ...@@ -96,12 +96,12 @@
android:visibility="gone" /> android:visibility="gone" />
<TextView <TextView
android:includeFontPadding="false"
android:id="@+id/tv_search" android:id="@+id/tv_search"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:includeFontPadding="false"
android:text="Search" android:text="Search"
android:textColor="#0571ED" android:textColor="#0571ED"
android:textSize="16sp" android:textSize="16sp"
...@@ -109,11 +109,11 @@ ...@@ -109,11 +109,11 @@
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<TextView <TextView
android:includeFontPadding="false"
android:id="@+id/tv_cancel" android:id="@+id/tv_cancel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:includeFontPadding="false"
android:text="Cancel" android:text="Cancel"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="16sp" android:textSize="16sp"
...@@ -143,6 +143,43 @@ ...@@ -143,6 +143,43 @@
android:padding="16dp" android:padding="16dp"
android:visibility="gone" /> android:visibility="gone" />
<LinearLayout
android:id="@+id/ll_privacy_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="48dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/d_wuhen"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="27dp"
android:text="Entered incognito browsing"
android:textColor="@color/black"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center"
android:text="Incognito browsing ensures that your\n search and browsing history are not\nstored or record on your device."
android:textColor="#545456"
android:textSize="16sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout> </FrameLayout>
<LinearLayout <LinearLayout
......
...@@ -76,6 +76,7 @@ ...@@ -76,6 +76,7 @@
<EditText <EditText
android:id="@+id/edit_web" android:id="@+id/edit_web"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
...@@ -84,12 +85,13 @@ ...@@ -84,12 +85,13 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="Search or enter website address" android:hint="Search or enter website address"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:paddingHorizontal="15dp" android:paddingHorizontal="5dp"
android:singleLine="true" android:singleLine="true"
android:textColorHint="#858587" android:textColorHint="#858587"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintEnd_toStartOf="@id/fl_refresh" app:layout_constraintEnd_toStartOf="@id/fl_refresh"
app:layout_constraintStart_toEndOf="@id/fl_search_engine" app:layout_constraintStart_toEndOf="@id/fl_search_engine"
tools:drawableStart="@mipmap/x_wuhen"
tools:ignore="Autofill,HardcodedText,TextFields" /> tools:ignore="Autofill,HardcodedText,TextFields" />
<FrameLayout <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