工具栏中SearchView和折叠图标之间的间距

13

我正在尝试在Toolbar上实现带有collapseIconandroid.support.v7.widget.SearchView。一切都很好,即SearchView按预期工作,但我无法移除/减少SearchViewcollapseIcon之间的填充,如所附屏幕截图所示。

有任何想法吗?

SearchView

我已经尝试过:

app:contentInsetStartWithNavigation="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"

但是这个方法不起作用。


1
collapseIcon在哪里? - MarkyDD
https://dev59.com/Bl8d5IYBdhLWcg3wxUnC - Mangesh
不相关,我已经在问题中提到我已经尝试了所有的方法。无论如何,问题已经解决了。 - Ashish Ranjan
1
@AshishRanjan,你是怎么解决这个问题的(下面提到的leftMargin方法不起作用)? - Bootstrapper
你尝试将问题中提到的插图设置为零了吗?@Bootstrapper,如果是的话,那么在SearchView xml中可能有一些更改,你可以尝试自己查看xml。或者在实现解决方案时可能出现了错误。 - Ashish Ranjan
2个回答

13
问题可以通过在与以下LinearLayout相关的布局参数中设置leftMargin = 0来解决:

(使用getLayoutParams获取布局参数)

LinearLayout searchEditFrame = (LinearLayout) searchView.findViewById(R.id.search_edit_frame); // Get the Linear Layout 
// Get the associated LayoutParams and set leftMargin
((LinearLayout.LayoutParams) searchEditFrame.getLayoutParams()).leftMargin = 0;

1
如果有人想要编辑其他属性,可以在 https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/layout/search_view.xml 找到该XML文件。 - Abandoned Cart

10

我通过查看SearchView使用的xml文件成功解决了这个问题,因此可以通过更改leftMargin的值来移除/减少填充:

我通过查看SearchView使用的xml文件成功解决了这个问题,因此可以通过更改leftMargin的值来移除/减少填充:
layoutParams.leftMargin = 0;

对于 SearchView 中的以下 LinearLayout

LinearLayout searchEditFrame = (LinearLayout) searchView.findViewById(R.id.search_edit_frame);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接