3

How i can hide FAB when i click on SearchView So FAB shows when keyboard opens

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="18dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginEnd="8dp"
        android:scaleType="center"
        android:layout_marginRight="8dp"
        android:src="@drawable/ic_add_operator"
        app:backgroundTint="@android:color/transparent"
        app:layout_constraintEnd_toEndOf="parent"
         />
Osama Ahmed
  • 83
  • 1
  • 4
  • Check this out: https://stackoverflow.com/questions/4745988/how-do-i-detect-if-software-keyboard-is-visible-on-android-device – Gaurav Mall Aug 29 '19 at 14:48
  • Possible duplicate of [How do I Detect if Software Keyboard is Visible on Android Device?](https://stackoverflow.com/questions/4745988/how-do-i-detect-if-software-keyboard-is-visible-on-android-device) – Kirill Matrosov Aug 29 '19 at 15:33

1 Answers1

2

I was looking for the same solution and figured out this solution, which works fine for my SearchView. Check out (Kotlin version):

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.menu_main, menu)
        val search: SearchView =
            menu!!.findItem(R.id.action_search_main).actionView as SearchView
        search.apply {
            imeOptions = EditorInfo.IME_ACTION_DONE
            isSubmitButtonEnabled = true
            setOnQueryTextListener(object : SearchView.OnQueryTextListener {
                override fun onQueryTextSubmit(p0: String?): Boolean {
                    return false
                }

                override fun onQueryTextChange(p0: String?): Boolean {
                    // My Function
                    return false
                }
            })
        }
        val menuItemSearch = menu.findItem(R.id.action_search_main)
        menuItemSearch.setOnActionExpandListener(object : MenuItem.OnActionExpandListener {
            override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
                Log.wtf("FAB", "HIDE")
                fab.hide()
                return true
            }

            override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
                Log.wtf("FAB", "SHOW")
                fab.show()
                return true
            }
        })

        return super.onCreateOptionsMenu(menu)
    }
Mark Delphi
  • 1,376
  • 1
  • 11
  • 29