SearchView永久向上移动AppBar?

时间:2016-12-20 03:20:33

标签: android searchview android-appbarlayout appbar

我在运行时将SearchView添加到当前视图,如下所示:

View searchpage = inflater.inflate(R.layout.search_ui, (ViewGroup) view.getParent(), false);
    SearchView searchbar = (SearchView) searchpage.findViewById(R.id.searchbar);
    //ViewGroup of current layout
    parent.addView(searchbar);

按下按钮时执行此代码。

此代码有效,但是如果输入和退出SearchView,则向下移动AppBar的动画在退出AppBar时不会重置。 SearchView没有嵌入AppBar中,我也没有尝试这样做。我希望SearchView在AppBar下面。

AppBar在单独的xml文件中定义。我使用ViewPager在多个视图之间切换。

以下是一些截图:

Before SearchView is Tapped

After SearchView is Tapped/Entered and Exited

SearchBar在xml中定义如下:

<android.support.v7.widget.SearchView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/searchbar"
        android:layout_below="@+id/view"
        android:iconifiedByDefault="false"
        android:queryHint="Search"
        android:layout_centerHorizontal="true">

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

AppBar的定义如下:

<android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="@dimen/appbar_padding_top"
        android:theme="@style/AppTheme.AppBarOverlay">

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

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

任何帮助将不胜感激,我不知道为什么AppBar不会自动滑回。

编辑:我同时遇到一组按钮没有出现在屏幕底部的问题。我发现它们是在导航栏下方绘制的。我相信当输入SearchView时,工具栏被向上推,以适应屏幕绝对底部的按钮组。我在布局中添加了填充,我相信这是解决问题的方法。

谢谢,

-n.parker

1 个答案:

答案 0 :(得分:-1)

尝试这样的事情;

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    android:minHeight="?attr/actionBarSize"/>

在&#34;布局&#34;文件夹,创建一个看起来像这样的toolbar.xml;

{{1}}

现在您也可以在其他活动中重复使用此工具栏,ID需要。