亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決Android SearchView不顯示搜索icon的問(wèn)題

 更新時(shí)間:2019年05月07日 11:31:57   作者:xing_star  
這篇文章主要介紹了解決Android SearchView不顯示搜索icon問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

背景:

之前碰到了一個(gè)頁(yè)面展示問(wèn)題,SearchView放在Toolbar里面,展示在頁(yè)面頂部,發(fā)現(xiàn)進(jìn)入這個(gè)頁(yè)面后,左上角是箭頭圖標(biāo)(表示點(diǎn)擊返回),中間區(qū)域就是搜索欄,不過(guò)看到會(huì)顯示搜索icon🔍感覺(jué)額外丑陋,就想要把它隱藏掉,找了一圈沒(méi)有找到如何隱藏Android中android.support.v7.widget.SearchView的icon,只好自己慢慢研究,手動(dòng)調(diào)試觀察效果了。

解決辦法:

經(jīng)過(guò)一段時(shí)間的調(diào)試,得出了結(jié)論,先給出方案。

final ImageView searchIcon = (ImageView) mSearchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon);
mSearchView.post(new Runnable() {
  @Override
  public void run() {
    searchIcon.setImageDrawable(null);
    searchIcon.setVisibility(View.GONE);
  }
});

接著從android.support.v7.widget.SearchView的源碼中,找找原因。

private void updateViewsVisibility(final boolean collapsed) {
  mIconified = collapsed;
  // Visibility of views that are visible when collapsed
  final int visCollapsed = collapsed ? VISIBLE : GONE;
  // Is there text in the query
  final boolean hasText = !TextUtils.isEmpty(mSearchSrcTextView.getText());
 
  mSearchButton.setVisibility(visCollapsed);
  updateSubmitButton(hasText);
  mSearchEditFrame.setVisibility(collapsed ? GONE : VISIBLE);
 
  final int iconVisibility;
  if (mCollapsedIcon.getDrawable() == null || mIconifiedByDefault) {
    iconVisibility = GONE;
  } else {
    iconVisibility = VISIBLE;
  }
  mCollapsedIcon.setVisibility(iconVisibility);
 
  updateCloseButton();
  updateVoiceButton(!hasText);
  updateSubmitArea();
}

updateViewsVisibility()方法很關(guān)鍵,會(huì)被執(zhí)行多次,這個(gè)方法就決定了mCollapsedIcon是否顯示隱藏,通過(guò)分析,得出需要將mCollapsedIcon對(duì)應(yīng)的Drawable設(shè)置為null,mCollapsedIcon.setVisibility(iconVisibility)才會(huì)隱藏搜索圖標(biāo)。代碼比較簡(jiǎn)單,主要是要有意識(shí)的去翻看源碼,看看內(nèi)部實(shí)現(xiàn)。

mCollapsedIcon = findViewById(R.id.search_mag_icon);

還可以找到SearchView對(duì)應(yīng)的xml布局文件,路徑是appcompat-v7/res/layout/abc_search_view.xml

到此問(wèn)題完美解決。

遺留一個(gè)小問(wèn)題,如果要更換SearchView的closebtn(類似ClearEditText的清空內(nèi)容的圖標(biāo))對(duì)應(yīng)的圖片資源呢?咱們留到下一篇講解。

總結(jié)

以上所述是小編給大家介紹的解決Android SearchView不顯示搜索icon的問(wèn)題 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Android自定義Dialog實(shí)現(xiàn)加載對(duì)話框效果

    Android自定義Dialog實(shí)現(xiàn)加載對(duì)話框效果

    這篇文章將介紹如何定制當(dāng)今主流的對(duì)話框,通過(guò)自定義dialog實(shí)現(xiàn)加載對(duì)話框效果,具體實(shí)現(xiàn)代碼大家通過(guò)本文學(xué)習(xí)吧
    2018-05-05
  • Android中RecyclerView實(shí)現(xiàn)多級(jí)折疊列表效果(二)

    Android中RecyclerView實(shí)現(xiàn)多級(jí)折疊列表效果(二)

    這篇文章主要給大家介紹了Android中RecyclerView實(shí)現(xiàn)多級(jí)折疊列表的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-05-05
  • Android實(shí)現(xiàn)動(dòng)態(tài)圓環(huán)的圖片頭像控件

    Android實(shí)現(xiàn)動(dòng)態(tài)圓環(huán)的圖片頭像控件

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)帶有動(dòng)態(tài)圓環(huán)的圓形圖片控件DynamicAvatarView的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android實(shí)現(xiàn)擴(kuò)展Menu的方法

    Android實(shí)現(xiàn)擴(kuò)展Menu的方法

    這篇文章主要介紹了Android實(shí)現(xiàn)擴(kuò)展Menu的方法,涉及Android操作menu菜單的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Android 屏幕雙擊事件的捕獲簡(jiǎn)單示例

    Android 屏幕雙擊事件的捕獲簡(jiǎn)單示例

    本文主要介紹 Android屏幕雙擊事件的捕獲,這里整理了相關(guān)資料,并附示例代碼,有興趣的小伙伴可以參考下
    2016-08-08
  • Android Studio導(dǎo)入項(xiàng)目不支持的兩種解決方式

    Android Studio導(dǎo)入項(xiàng)目不支持的兩種解決方式

    這篇文章主要介紹了Android Studio導(dǎo)入項(xiàng)目不支持的兩種解決方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Android Canvas繪制文字橫縱向?qū)R

    Android Canvas繪制文字橫縱向?qū)R

    這篇文章主要介紹了Android Canvas繪制文字橫縱向?qū)R,Align屬性決定了使用該畫筆時(shí),相較于繪制點(diǎn)的水平對(duì)稱方式,分別是LEFT、CENTER、RIGHT,更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容
    2022-06-06
  • Android基礎(chǔ)知識(shí)之tween動(dòng)畫效果

    Android基礎(chǔ)知識(shí)之tween動(dòng)畫效果

    Android基礎(chǔ)知識(shí)之tween動(dòng)畫效果,Android一共提供了兩種動(dòng)畫,這篇文章主要介紹了Android動(dòng)畫效果之tween動(dòng)畫,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android使用AudioRecord實(shí)現(xiàn)錄音功能

    Android使用AudioRecord實(shí)現(xiàn)錄音功能

    這篇文章主要為大家詳細(xì)介紹了Android使用AudioRecord實(shí)現(xiàn)錄音功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 輕松實(shí)現(xiàn)安卓(Android)九宮格解鎖

    輕松實(shí)現(xiàn)安卓(Android)九宮格解鎖

    在平常使用手機(jī)的過(guò)程中,九宮格解鎖是我們經(jīng)常接觸到的。常見(jiàn)的比如有鎖屏中的九宮格,還有支付寶中的九宮格等。因?yàn)榫艑m格可以保護(hù)用戶的隱私,所以它的應(yīng)用面很廣泛。那么今天我們就來(lái)自定義一個(gè)屬于自己的九宮格吧!
    2016-08-08

最新評(píng)論