91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中SearchView不顯示搜索icon怎么辦

發布時間:2021-07-12 14:06:48 來源:億速云 閱讀:130 作者:小新 欄目:移動開發

這篇文章主要介紹了Android中SearchView不顯示搜索icon怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

背景:

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

解決辦法:

經過一段時間的調試,得出了結論,先給出方案。

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()方法很關鍵,會被執行多次,這個方法就決定了mCollapsedIcon是否顯示隱藏,通過分析,得出需要將mCollapsedIcon對應的Drawable設置為null,mCollapsedIcon.setVisibility(iconVisibility)才會隱藏搜索圖標。代碼比較簡單,主要是要有意識的去翻看源碼,看看內部實現。

mCollapsedIcon = findViewById(R.id.search_mag_icon);

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

到此問題完美解決。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Android中SearchView不顯示搜索icon怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

成都市| 浦东新区| 勃利县| 德州市| 基隆市| 台湾省| 伽师县| 深泽县| 察隅县| 广南县| 遂溪县| 庆安县| 舟曲县| 长治县| 东丽区| 富蕴县| 南平市| 吴堡县| 鄂伦春自治旗| 奎屯市| 南昌市| 兰溪市| 衡阳市| 理塘县| 峨边| 昌图县| 辉南县| 连江县| 鸡东县| 二连浩特市| 丰县| 乳源| 清苑县| 开远市| 德安县| 车致| 岳池县| 肥西县| 横山县| 新田县| 高碑店市|