2015-01-14 2 views
6

Как отобразить SearchView предложения, которые используют всю ширину экрана, используя appcompat-v7:21?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; 
} 
Смежные вопросы