2015-01-07 14 views
6

Yeni malzeme temasını ve AppCompat 21'i kullanırken SearchView'u tabletlerde hizalamak istiyorum. Bu mümkün mü yoksa kendi özel düzenimi araç çubuğuna eklemeliyim?AppCompat 21'de SearchView'u araç çubuğu ile hizalamak mümkün mü?

enter image description here

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_search, menu); 
    mnuSearch = menu.findItem(R.id.menu_search); 
    android.support.v7.widget.SearchView searchView = (SearchView) MenuItemCompat.getActionView(mnuSearch); 
    searchView.setGravity(Gravity.LEFT); 
    searchView.setIconifiedByDefault(false); 
    searchView.setQueryHint(getString(R.string.search)); 
    searchView.requestFocus(); 
    return true; 
} 
+0

çok iyi bir soru dostum Eğer bu şekilde yapacağız, bunu –

cevap

2

Doğrusu tanımlayacak senin SearchView bir düzende ve sonra zaten solda hizalanmış olarak geliyor Bu şekilde

View v = findViewById(R.id.your_search_view); 
getSupportActionBar().setCustomView(v); 

diyoruz, ve bunu ayarlayabilirsiniz etmezse onun LayoutParams.

AppCompat ile bir Toolbar kullanıyorsanız, işler daha kolaydır, çünkü ViewGroup olarak davranır. Ben senin xml araç çubuğunun vücutta tahmin

<android.support.v7.widget.Toolbar 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:abc="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/toolbar" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_width="match_parent"> 

    <your.SearchView /> 
     // here you have control over layout_gravity 

</android.support.v7.widget.Toolbar> 
+0

Teşekkür deneyebilirsiniz görüntü görünümünü kullanarak simge de ayarlayabilirsiniz. Kolay bir düzeltme umduğunu ummuştum ama sanırım bu kadar kolay :-) –

İlgili konular