In Android, mit einem benutzerdefinierten Renderer, können Sie den folgenden Code verwenden, um das Suchsymbol auf der rechte Seite Ihrer Suchleiste zu platzieren:
protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var searchView = base.Control as SearchView;
//Get the Id for your search icon
int searchIconId = Context.Resources.GetIdentifier("android:id/search_mag_icon", null, null);
ImageView searchViewIcon = (ImageView)searchView.FindViewById<ImageView>(searchIconId);
ViewGroup linearLayoutSearchView = (ViewGroup)searchViewIcon.Parent;
searchViewIcon.SetAdjustViewBounds(true);
//Remove the search icon from the view group and add it once again to place it at the end of the view group elements
linearLayoutSearchView.RemoveView(searchViewIcon);
linearLayoutSearchView.AddView(searchViewIcon);
}
}
In der obigen Ausführung, habe ich einfach entfernt das Suchsymbol aus der Suchleistenansichtsgruppe und fügte es dann erneut derselben Ansichtsgruppe hinzu. Dies brachte das normalerweise erste Kind zum letzten Kind, wodurch das Suchsymbol am Ende platziert wurde.