Я действительно хочу реализовать круг загрузки на панели поиска (переопределив кнопку отмены при загрузке) на android, например Netflix.
Согласно вашему описанию, вы хотите переопределить search_close_btn панели поиска с помощью другого значка, например круга загрузки? Я прав?
Если да, я предлагаю вам использовать настраиваемую визуализацию для изменения изображения search_close_btn панели поиска.
Во-первых, создайте настраиваемую панель поиска, которая наследует SearchBar в Form.cs.
public class MySearchBar:SearchBar
{
}
Затем реализация пользовательского рендеринга на платформе Android.
[assembly: ExportRenderer(typeof(MySearchBar), typeof(MySearchBarRenderer))]
демонстрация пространства имен3.Droid {publi c class MySearchBarRenderer: SearchBarRenderer {publi c MySearchBarRenderer (Context context): base (context ) {
}
protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged(e);
if (Control != null)
{
var searchView = Control;
int searchViewCloseButtonId = Control.Resources.GetIdentifier("android:id/search_close_btn", null, null);
var closeIcon = searchView.FindViewById(searchViewCloseButtonId);
(closeIcon as ImageView).SetImageResource(Resource.Drawable.plu3);
}
}
}
}
См. Gif:
О пользовательском рендеринге вы можете посмотрите:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/entry