Android扩展的SearchView使其他ActionBar项消失

问题描述 投票:4回答:2

我在一个由片段调用的上下文操作栏中遇到了SearchView的一些问题。主要的一点是,当我的SearchView展开时,即使有一些未使用的空间,它也会使动作栏中的所有其他项目(关闭按钮除外)消失,如您在此屏幕截图中所见:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS90RjhSYS5wbmcifQ==” alt =“屏幕截图”>“ >>

此外,我在这个问题中也讨论了同样的问题:ActionBar always expanded SearchView with the icon inside

这是我的SearchView的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/menu_series_cab_search"
        android:icon="@drawable/ic_search"
        android:title="@string/action_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="ifRoom"/>
    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never" />
</menu>

这是实现ActionMode.Callback的Fragment的JAVA代码

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    mode.getMenuInflater().inflate(R.menu.menu_series_cab, menu);
    mSearchView = (SearchView) MenuItemCompat
            .getActionView(menu.findItem(R.id.menu_series_cab_search));
    mSearchView.setQueryHint(getResources().getString(R.string.action_search));
    mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            mSearchView.clearFocus();
            return true;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            return false;
        }
    });
    mSearchView.setIconifiedByDefault(false);
    return true;
}

@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
    mSearchView.requestFocus();
    return true;
}

我在一个由片段调用的上下文操作栏中遇到了SearchView的一些问题。主要的是,当我的SearchView展开时,它会使操作栏中的所有其他项目消失(...

android android-fragments searchview android-actionbar-compat contextual-action-bar
2个回答
10
投票

searchview小部件的第一件事是具有最大的固定大小,因此不可避免会有空白。


1
投票

由于Bronx在他的最后一篇文章中发布的链接以及其他类似此Android - cannot find TextView inside SearchWidget when using Android Support library的答案(已接受的答案:我正在完成此答案:要在文本视图内移动放大图标,请从第一个Bronx答案中删除此行

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