我的SearchView显示如下:
正如您所看到的,在SearchView的search_edit_frame
上和SearchView本身的外部都有一个边距。
这是从哪里来的?检查布局发现search_edit_frame
左侧有24像素的边距,但其他地方没有边距。
如何删除这些多余的空间?
menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/appbar_menu_search"
android:icon="@drawable/ic_search"
android:title="@string/search_search"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
布局:
<RelativeLayout
android:id="@+id/root_layout"
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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/profile_appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/topbar_gradient"
android:theme="@style/AppTheme.Dark"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/topbar_gradient"
android:fitsSystemWindows="true"
android:minHeight="?android:attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
(...)
</RelativeLayout>
我用“Jimmy's answer”(吉米的答案)来减少间隔:
然而,在“后退”图像按钮和搜索视图之间仍然有很大的差距。
8条答案
按热度按时间wztqucjr1#
search_edit_frame
是searchview
布局中的LinearLayout
。默认情况下,它的起始边距和结束边距为8dip。source中的相关代码
您的问题可能是因为它的起始边距。您可以从搜索视图中获取此线性布局,并设置布局参数以减少Activity中差距(可能是在
onCreateOptionsMenu
或类似的searchview
中膨胀)。类似这样,假设
searchView
是您的SearchView示例,以类似的方式,您可以更新该XML中的其他属性以满足您的需要。
lmyy7pcs2#
我不知道这是否有帮助,但我也有一个不想要的边距在工具栏视图。This answer关于内容插入帮助我解决了这个问题。
7uzetpgm3#
由于
MenuItem
,因此会有少量填充。您可以重置内容插入填充。尝试将contentInsetStartWithNavigation
属性设置为0dp。mzmfm0qo4#
您可以将
leftMargin
设置为零,以获得所需的结果:fcg9iug35#
o2gm4chl6#
在视图上使用
android:layout_gravity="right"
。camsedfj7#
对于Kotlin:
k3fezbri8#
也许已经太晚了,但我会在这里发布我的解决方案,以防它帮助任何人。我的
SearchView
是在应用程序栏下,总是可见的,但过多的margin
之间的视图开始和图标它仍然存在。我的解决方案是在xml
上的SearchView
是声明,我只是补充说: