2

확장되었을 때 SearchView의 정렬에 문제가 있습니다. 붕괴되면 어떤 이유로 권리가 정렬되지만 확장되면 왼쪽으로 정렬됩니다. 나는 ActionBarSherlock 예제를 따라 다녔다.SearchView 잘못된 맞춤

는 여기에 문제의 두 스크린 샷입니다 :

Screenshot collapsed http://img59.imageshack.us/img59/8976/.png

Screenshot expanded http://img577.imageshack.us/img577/9890/.png

나는 액션 바 탭을 사용하려는 경우 결정 못하고있다. 나는 searchView가 확장 될 때 그들을 숨기고 싶지 않다. 그러나 그것은 또 다른 질문입니다. 여기에서 가장 중요한 문제는 검색 시점의 정렬 일 때입니다. 내가 상관없이 올바른 정렬을 유지하고 싶습니다.

가 여기 내의 onCreateOptionsMenu입니다 : 여기

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    getSupportMenuInflater().inflate(R.menu.menu_main, menu); 
    searchMenuItem = menu.findItem(R.id.action_search); 
    refreshMenuItem = menu.findItem(R.id.action_refresh); 

    refreshMenuItem.setActionView(R.layout.refresh_progressbar); 

    searchMenuItem.setOnActionExpandListener(new OnActionExpandListener() { 

     @Override 
     public boolean onMenuItemActionExpand(MenuItem item) { 
      return true; 
     } 

     @Override 
     public boolean onMenuItemActionCollapse(MenuItem item) { 
      flightsListAdapter.getFilter().filter(""); 
      return true; 
     } 
    }); 

    searchView = (SearchView)searchMenuItem.getActionView(); 
    searchView.setQueryHint(getResources().getString(R.string.search_hint)); 
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 
      searchView.clearFocus(); 
      return true; 
     } 

     @Override 
     public boolean onQueryTextChange(String query) { 
      flightsListAdapter.getFilter().filter(query); 
      return true; 
     } 
    }); 
    searchView.clearFocus(); 

    return true; 
} 

그리고 것은

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

<item 
    android:id="@+id/action_search" 
    android:title="@string/search" 
    android:icon="@drawable/ic_search" 
    android:showAsAction="always|collapseActionView" 
    android:actionViewClass="com.actionbarsherlock.widget.SearchView" /> 

<item 
    android:title="@string/date" 
    android:icon="@drawable/ic_compose" 
    android:showAsAction="always" > 
    <menu> 
     <item 
      android:id="@+id/menuYesterday" 
      android:title="Yesterday"/> 
     <item 
      android:id="@+id/menuToday" 
      android:title="Today"/> 
     <item 
      android:id="@+id/menuTomorrow" 
      android:title="Tomorrow"/> 
    </menu> 
</item> 

<item 
    android:id="@+id/action_refresh" 
    android:icon="@drawable/ic_refresh" 
    android:showAsAction="always" 
    android:title="@string/action_refresh" /> 
</menu> 

이 :)

답변

3

확인을 읽어 주셔서 감사 내 menu_main.xml입니다. 그냥 일반적인 지식을 위해서, 나는 내 자신의 질문에 대답하고 있습니다.

트릭은 SerchView에서 "collapseActionView"를 제거하는 것이 었습니다. 제거한 후 SearchView는 포기 (오른쪽)됩니다.

+0

흠, 나는 이것을 시도해 보았고 실제로 SearchView가 오른쪽에 머물러있는 동안 내 맞춤 아이콘이 사라졌습니다 (접힌 상태). – Jonik

+0

좋아, 이제 사용자 정의 아이콘을 잃지 않고 작동하는 확장 된 SearchView (오른쪽)를 정렬하는 방법을 발견했습니다. http://stackoverflow.com/a/20146626/56285 – Jonik