2015-01-14 6 views
6

SearchViewを表示する方法を使用して画面全体の幅を使用するの提案の提案?SearchViewの提案 - レイアウトの幅:match_parent

私はコードとメニューリソースでandroid.support.v7.widget.SearchViewを使用します。新しいツールバーウィジェットにsearchViewStyleがありますが、完全な幅の候補(match_parent)を表示するパラメータが見つかりませんでした。

Example http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/07/material-makeover-4.jpeg

+0

素敵なLIBを作成し、見てい: http://stackoverflow.com/a/32693670/3722311を – programmer

答えて

1

あなたはこのようにそれを行うことができます。(それはDropDownAnchor上です)

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_search, menu); 

    MenuItem searchItem = menu.findItem(R.id.action_search_search); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 

    int searchEditTextId = R.id.search_src_text; 
    final AutoCompleteTextView searchEditText = (AutoCompleteTextView) searchView.findViewById(searchEditTextId); 
    final View dropDownAnchor = searchView.findViewById(searchEditText.getDropDownAnchor()); 

    if (dropDownAnchor != null) { 
     dropDownAnchor.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { 
      @Override 
      public void onLayoutChange(View v, int left, int top, int right, int bottom, 
            int oldLeft, int oldTop, int oldRight, int oldBottom) { 

       // screen width 
       int screenWidthPixel = ActivitySearchUni.this.getResources().getDisplayMetrics().widthPixels; 
       searchEditText.setDropDownWidth(screenWidthPixel); 
      } 
     }); 
    } 

    return true; 
} 
関連する問題