IT_Programming/Android_Java

[펌][번역] Toolbar에 13줄로 SearchView을 구현한다

JJun ™ 2015. 5. 21. 21:47



 출처

 : http://pluu.github.io/blog/android/2015/05/19/android-toolbar-searchview/



이 포스팅은 Toolbar に 13行で SearchView を実装する 을 기본으로 번역하여 작성했습니다

제 일본어 실력으로 인하여 오역이나 오타가 발생할수 있습니다.


이미지


이런거 입니다.



ActionBar 에도 같은 요령으로 대응가능하다고 생각합니다.


Code & XML


onQueryTextSubmit, onQueryTextChange 설명은 이쪽

http://developer.android.com/reference/android/support/v7/widget/SearchView.OnQueryTextListener.html

Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.search);
mSearchView = (SearchView) toolbar.getMenu().findItem(R.id.menu_search).getActionView();
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
    @Override
    public boolean onQueryTextSubmit(String s) {
        return false;
    }
    @Override
    public boolean onQueryTextChange(String s) {
        return false;
    }
});
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_search"
        android:icon="@drawable/ic_menu_search"
        android:title="@string/menu_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always" />
</menu>



보충설명


메뉴를 프로그램으로 작성

Menu menu = toolbar.getMenu();
MenuItem item = menu.add("検索");
item.setIcon(R.drawable.ic_menu_search);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
item.setActionView(mSearchView);


SearchView 를 알린 상태로 한다

http://developer.android.com/reference/android/widget/SearchView.html#setIconified(boolean)

mSearchView.setIconfied(false);


SearchView 에서 포커스를 제거하기(소프트웨어 키보드를 닫기)

http://developer.android.com/reference/android/view/ViewGroup.html#clearFocus()

mSearchView.clearFocus();


QueryHint를 표시

http://developer.android.com/reference/android/widget/SearchView.html#setQueryHint(java.lang.CharSequence)

mSearchView.setQueryHint(“Hint”);


SearchView 를 커스터마이징하기

페이지 하단의 SearchView Widget 쪽

http://android-developers.blogspot.jp/2014/10/appcompat-v21-material-design-for-pre.html