最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Android SearchView不顯示搜索icon的問題

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

背景:

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

解決辦法:

經(jīng)過一段時間的調(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)鍵,會被執(zhí)行多次,這個方法就決定了mCollapsedIcon是否顯示隱藏,通過分析,得出需要將mCollapsedIcon對應(yīng)的Drawable設(shè)置為null,mCollapsedIcon.setVisibility(iconVisibility)才會隱藏搜索圖標(biāo)。代碼比較簡單,主要是要有意識的去翻看源碼,看看內(nèi)部實(shí)現(xiàn)。

mCollapsedIcon = findViewById(R.id.search_mag_icon);

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

到此問題完美解決。

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

總結(jié)

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

相關(guān)文章

最新評論

佛学| 奉节县| 雅江县| 科尔| 临清市| 宝鸡市| 磐石市| 临澧县| 深圳市| 舞钢市| 荔浦县| 九江县| 黎平县| 宁乡县| 济宁市| 通城县| 深州市| 邻水| 普兰店市| 周至县| 内黄县| 合肥市| 渭南市| 彝良县| 上蔡县| 新疆| 神池县| 湖州市| 五常市| 贵定县| 巨鹿县| 青冈县| 乌兰察布市| 龙门县| 乐山市| 盐津县| 安多县| 高邮市| 五原县| 台南县| 庆阳市|