展开时删除Android SearchView填充

时间:2017-02-18 17:44:40

标签: android padding searchview extra

我正在尝试在我的Android应用程序中实现SearchView,但在扩展它时会有额外的填充。

SearchView集成在菜单中,当应用程序启动时,我在工具栏中有一个搜索图标。当我单击该搜索按钮时,SearchView会扩展,但会有一个额外的填充。

以下是一些照片,以便您了解问题:

这是初始工具栏 Initial Toolbar

当我点击搜索图标时,这就是我得到的内容 Expanded Search

我找到了一个解决方案,向SearchView添加一个负左边填充(-16dp):searchView.setPadding(getResources().getDimensionPixelSize(R.dimen.search_view_minus), 0, 0, 0);

不幸的是,如果我使用此解决方案,工具栏右侧的搜索图标将受到影响(不知何故,SearchView会覆盖搜索图标)。

这是我的菜单:

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">

    <item
        android:id="@+id/action_search"
        android:icon="@drawable/ic_search_white_48dp"
        app:showAsAction="always"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="Cauta..."/>

</menu>

这是我的工具栏布局:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar_home"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    app:theme="@style/AppTheme.Title"
    app:titleMarginStart="0dp"
    app:navigationIcon="@drawable/ic_menu_white_24dp"
    app:contentInsetStartWithNavigation="0dp"
    app:contentInsetEndWithActions="0dp"
    app:contentInsetStart="0dp"
    app:contentInsetEnd="0dp" />

这是应用于SearchView的一些自定义样式:

<style name="searchStyle" parent="Widget.AppCompat.SearchView.ActionBar">
    <item name="queryHint">@string/search_hint</item>
    <item name="searchIcon">@drawable/ic_search_white_24dp</item>
    <item name="voiceIcon">@drawable/ic_keyboard_voice_white_24dp</item>
    <item name="android:textColorHint">@android:color/white</item>
</style>

我的问题有适当的解决方案吗?

0 个答案:

没有答案