是否可以将AppCompat 21中的SearchView与工具栏对齐?

Chr*_*vik 6 android android-appcompat searchview material-design

我想在使用新材料主题和AppCompat 21时将SearchView放在平板电脑上.这可能或者我必须将自己的自定义布局添加到工具栏吗?

在此输入图像描述

  @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;
}
Run Code Online (Sandbox Code Playgroud)

nat*_*rio 3

我宁愿SearchView在布局中定义你的然后调用

View v = findViewById(R.id.your_search_view);
getSupportActionBar().setCustomView(v);
Run Code Online (Sandbox Code Playgroud)

这样它就已经在左边对齐了,如果没有,你可以设置它的LayoutParams.

如果您使用ToolbarAppCompat ,事情会更容易,因为它充当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>
Run Code Online (Sandbox Code Playgroud)