我在运行时将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在多个视图之间切换。
以下是一些截图:
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
答案 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需要。