【发布时间】:2016-11-14 14:44:38
【问题描述】:
我正在尝试在toolbar 中设置SearchView 的样式,使其看起来/行为类似于Google Play Store app 中的SearchView。它似乎将搜索视图包装在卡片视图中,但它似乎也集成了向上按钮/抽屉切换行为。
这是主要的活动 searchView,它集成了抽屉切换
当您单击它时,抽屉切换变为箭头(单击时将从搜索视图中移除焦点)
当您点击商店中的应用程序时,您会转到应用程序详细信息页面,您会看到搜索视图的图标化版本,作为带有向上按钮的折叠操作项:
最后,如果您点击搜索图标,它会展开为一个操作项(带有一种波纹动画)并一直显示在屏幕上,并包含向上按钮:
当我尝试自己做时,我遇到了很多问题。我试图将搜索视图包装在卡片视图中并将其放在工具栏中。它可以工作,但左侧总是有我无法删除的填充(我尝试了 contentInsetStart,不起作用):
<android.support.v7.widget.Toolbar
android:id="@+id/activityCatalogToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"
android:theme="@style/AppTheme.AppBarOverlay"
app:contentInsetStart="0dp"
app:contentInsetLeft="0dp">
<android.support.v7.widget.CardView
android:id="@+id/activityCatalogSearchContainer"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_marginRight="8dp"
android:layout_marginLeft="8dp"
app:cardCornerRadius="4dp"
app:cardElevation="8dp">
<android.support.v7.widget.SearchView
android:id="@+id/activityCatalogSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:queryHint=""
android:iconifiedByDefault="false"/>
</android.support.v7.widget.CardView>
</android.support.v7.widget.Toolbar>
我还尝试删除工具栏并仅将其替换为 FrameLayout。这允许我控制填充,但显然我失去了工具栏功能(向上按钮等)并且还引入了主题问题(图标和文本消失)。
有人知道他们是如何做到这一点的吗?我不想添加另一个库只是为了对框架中已经存在的小部件进行样式设置。谢谢!
【问题讨论】:
-
@d370urn3ur 你看到我的回答了吗...
标签: android google-play themes android-appcompat searchview