Set SearchView clear button color

后端 未结 5 1195
粉色の甜心
粉色の甜心 2021-01-11 11:17

I am creating a searchview in the toolbar using onCreateOptionsMenu, but can\'t get the clear X button to initially be white. It becomes white when

5条回答
  •  旧巷少年郎
    2021-01-11 11:51

    You can use your own custom icon in place of searchview default cancel icon.

    I have used below code which works well, Hope that will work for you.

    private void setCloseSearchIcon(SearchView searchView) {
            try {
                Field searchField = SearchView.class.getDeclaredField("mCloseButton");
                searchField.setAccessible(true);
                ImageView closeBtn = (ImageView) searchField.get(searchView);
                closeBtn.setImageResource(R.drawable.ic_close);
    
            } catch (NoSuchFieldException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
    

    This will work above api level 14.

    Kotlin

    private fun configureCloseButton(searchView: SearchView) {
        val searchClose =  searchView.javaClass.getDeclaredField("mCloseButton")
        searchClose.isAccessible = true
        val closeImage = searchClose.get(searchView) as ImageView
        closeImage.setImageResource(R.drawable.arrow_back_gray) // your image here
    }
    

提交回复
热议问题