我正在尝试在我的Android应用程序中实现SearchView,但在扩展它时会有额外的填充。
SearchView集成在菜单中,当应用程序启动时,我在工具栏中有一个搜索图标。当我单击该搜索按钮时,SearchView会扩展,但会有一个额外的填充。
以下是一些照片,以便您了解问题:
我找到了一个解决方案,向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>
我的问题有适当的解决方案吗?