我想在工具欄中打開android searchview而不點擊搜索圖標。這裏是XML代碼如何在不點擊的情況下打開android搜索?
<item
android:id="@+id/action_search"
android:title="@string/search_title"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always"/>
和MainActivity中的Java代碼。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
MenuItem menuItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
searchView.setQueryHint("Type something...");
int searchPlateId = searchView.getContext()
.getResources()
.getIdentifier("android:id/search_plate", null, null);
View searchPlate = searchView.findViewById(searchPlateId);
if (searchPlate != null) {
searchPlate.setBackgroundColor(Color.DKGRAY);
int searchTextId = searchPlate.getContext()
.getResources()
.getIdentifier("android:id/search_src_text", null, null);
TextView searchText = (TextView) searchPlate.findViewById(searchTextId);
if (searchText != null) {
searchText.setTextColor(Color.WHITE);
searchText.setHintTextColor(Color.WHITE);
}
}
return true;
}
這工作和下面的輸出屏幕...
所以,當我點擊搜索圖標下面它輸出畫面......
什麼我想要的是直接的第二個屏幕!
'Activity'做'search.performClick();' –
@logic自動調用'onclik'但是..爲什麼你不直接在工具欄上放一個'Edittext'並且不要搜索圖標?你也可以在你的編輯文字上添加一個圖標 – Aspicas
@Aspicas EditText需要被設計成看起來像默認的搜索,而不是使用availbale一個更容易和優先 –