mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Improve: Collapse App bar on search
This commit is contained in:
parent
44d3409dfe
commit
343a125c7c
@ -18,6 +18,8 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||||
import androidx.viewpager2.widget.ViewPager2
|
import androidx.viewpager2.widget.ViewPager2
|
||||||
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
|
import com.google.android.material.appbar.CollapsingToolbarLayout
|
||||||
import com.google.android.material.imageview.ShapeableImageView
|
import com.google.android.material.imageview.ShapeableImageView
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
@ -111,24 +113,30 @@ class TabsFragment : ScreenFragment() {
|
|||||||
// Move focus from SearchView to Toolbar
|
// Move focus from SearchView to Toolbar
|
||||||
toolbar.isFocusableInTouchMode = true
|
toolbar.isFocusableInTouchMode = true
|
||||||
|
|
||||||
val searchView = FocusSearchView(toolbar.context)
|
val searchView = FocusSearchView(toolbar.context).apply {
|
||||||
searchView.allowFocus = savedInstanceState?.getBoolean(STATE_SEARCH_FOCUSED) == true
|
setOnSearchClickListener {
|
||||||
searchView.maxWidth = Int.MAX_VALUE
|
((toolbar.parent as CollapsingToolbarLayout).parent as AppBarLayout).setExpanded(
|
||||||
searchView.queryHint = getString(R.string.search)
|
false,
|
||||||
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
true
|
||||||
override fun onQueryTextSubmit(query: String?): Boolean {
|
)
|
||||||
searchView.clearFocus()
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
maxWidth = Int.MAX_VALUE
|
||||||
override fun onQueryTextChange(newText: String?): Boolean {
|
queryHint = getString(R.string.search)
|
||||||
if (isResumed) {
|
setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||||
searchQuery = newText.orEmpty()
|
override fun onQueryTextSubmit(query: String?): Boolean {
|
||||||
productFragments.forEach { it.setSearchQuery(newText.orEmpty()) }
|
clearFocus()
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
return true
|
|
||||||
}
|
override fun onQueryTextChange(newText: String?): Boolean {
|
||||||
})
|
if (isResumed) {
|
||||||
|
searchQuery = newText.orEmpty()
|
||||||
|
productFragments.forEach { it.setSearchQuery(newText.orEmpty()) }
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
toolbar.menu.apply {
|
toolbar.menu.apply {
|
||||||
if (Android.sdk(28) && !Android.Device.isHuaweiEmui) {
|
if (Android.sdk(28) && !Android.Device.isHuaweiEmui) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user