如何将搜索图标移到操作栏的右侧?

问题描述 投票:0回答:1

搜索栏应该在这里:

enter image description here

并且在运行时会在这里:

enter image description here

这是我的菜单活动的代码:

    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/search"
        android:layoutDirection="rtl"
        android:title="@string/Search"
        android:icon="@drawable/search_icon"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="androidx.appcompat.widget.SearchView"
        />

</menu>

并且我将其夸大为其他活动,例如:

    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.search_bar,menu);
        MenuItem item = menu.findItem(R.id.search);
        SearchView searchView = (SearchView) item.getActionView();

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        });

        return super.onCreateOptionsMenu(menu);
    }

我也尝试过像这样编程改变重力:

searchView.setLayoutParams(new ActionBar.LayoutParams(Gravity.RIGHT));

任何帮助都将不胜感激,特别是如果它包含了它为什么表现不如我预期的原因,因为我真的很想了解发生了什么。谢谢!

android android-actionbar layout-inflater
1个回答
0
投票

删除android:layoutDirection="rtl"

© www.soinside.com 2019 - 2024. All rights reserved.