Margin between SearchView and collapseIcon in toolbar
Asked Answered
C

2

13

I'm trying to implement android.support.v7.widget.SearchView with a collapseIcon on the Toolbar. Everything works fine i.e, the SearchView is working as expected but I'm unable to remove/ reduce the padding between the SearchView and collapseIcon, as visible in the attached screenshot.

Any ideas on how can I do that?

SearchView

I've tried :

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

but this doesn't work.

Candidate answered 6/1, 2017 at 16:49 Comment(5)
Where is the collapseIcon?Treenatreenail
#26455527Complexity
not relevant, I've already mentioned in the question that I've tried all that. Anyways, solved the issue.Candidate
@AshishRanjan how did you solve this (the leftMargin approach mentioned below does not work)?Edinburgh
did you try setting the insets mentioned in the question to zero? @Edinburgh , if yes then something may have changed in the SearchView xml, you can try looking at the xml yourself. or maybe you did something wrong while implementing the solution.Candidate
C
10

I managed to solve the problem by looking at the xml file that's used by SearchView, so the padding can be removed/reduced by changing the leftMargin value:

layoutParams.leftMargin = 0;

for the following LinearLayout inside the SearchView:

LinearLayout searchEditFrame = (LinearLayout) searchView.findViewById(R.id.search_edit_frame);
Candidate answered 10/1, 2017 at 6:14 Comment(0)
C
13

The problem can be solved by setting the leftMargin = 0 in the layout parameters associated with the following LinearLayout in the SearchView:

(To get the layout parameters use the 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;
Choriocarcinoma answered 12/1, 2017 at 11:34 Comment(1)
And in case anyone stumbles onto this looking to edit other properties, the XML can be found at android.googlesource.com/platform/frameworks/base/+/refs/heads/…Forelady
C
10

I managed to solve the problem by looking at the xml file that's used by SearchView, so the padding can be removed/reduced by changing the leftMargin value:

layoutParams.leftMargin = 0;

for the following LinearLayout inside the SearchView:

LinearLayout searchEditFrame = (LinearLayout) searchView.findViewById(R.id.search_edit_frame);
Candidate answered 10/1, 2017 at 6:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.