能否在使用AppCompat 21与工具栏时将SearchView左对齐?

6

我希望在使用新的Material主题和AppCompat 21时,在平板电脑上左对齐SearchView。这是否可能,还是我必须将自己的自定义布局添加到工具栏中?

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;
}

非常好的问题伙计 我猜在你的xml工具栏主体中,你可以使用ImageView设置图标 你可以试试这个 - Hanish Sharma
2个回答

3
我建议您在布局中定义您的SearchView,然后调用它。
View v = findViewById(R.id.your_search_view);
getSupportActionBar().setCustomView(v);

这样它就已经左对齐了,如果没有对齐,您可以设置其LayoutParams。如果您正在使用带有AppCompat的Toolbar,则会更加容易,因为它充当ViewGroup
<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>

谢谢,我会按照这种方式去做。本来希望有一个简单的解决方案,但我想这已经是最简单的了 :-) - Christer Nordvik

0

我使用了SearchView

<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/AppTheme.PopupOverlay" >

            <android.support.v7.widget.SearchView
                android:id="@+id/search"
                android:gravity="start"
                app:searchIcon="@mipmap/icon_search"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>


            <TextView
                android:gravity="end"
                android:textSize="22dp"
                android:textColor="@color/white"
                android:id="@+id/title"
                android:text="title"
                android:layout_marginRight="10dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接