2015-01-07 13 views
6

Ich möchte das SearchView auf Tablets ausrichten, wenn das neue Material-Design und AppCompat 21 verwendet wird. Ist das möglich oder muss ich ein eigenes benutzerdefiniertes Layout zur Symbolleiste hinzufügen?Ist es möglich, SearchView in AppCompat 21 mit Toolbar auszurichten?

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

sehr gute Frage Kumpel ich im Körper der Symbolleiste erraten in Ihrem xml können Sie das Symbol gesetzt mit Bildansicht Sie diesen –

Antwort

2

würde ich eher definieren Sie Ihre SearchView in einem Layout und rufen dann

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

diese Weise ist es bereits auf der linken Seite ausgerichtet kommt, und wenn es nicht kann eingestellt werden sein LayoutParams.

Wenn Sie ein Toolbar mit AppCompat verwenden, sind die Dinge einfacher, weil es als ViewGroup fungiert.

<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

Dank versuchen können, wird es auf diese Weise tun. Hatte auf eine einfache Lösung gehofft, aber ich denke, das ist so einfach wie es geht :-) –

Verwandte Themen