2017-12-09 2 views
2

Wie Suchsymbol der Suchleiste auf der rechten Seite in Xamarin Formen bewegen. Ich bin auf der Suche nach Android und IOS. Für Android habe ich SearchBarRenderer verwendet Mit unter Code, der nicht funktioniert Wer weiß, wie es geht? Bitte helfen.Wie Suchsymbol der Suchleiste auf der rechten Seite in Xamarin Formen bewegen

protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e) 
    { 
     base.OnElementChanged(e); 
     Control.LayoutParameters=(new ActionBar.LayoutParams(GravityFlags.Right)); 
    } 

Antwort

0

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.

Verwandte Themen