更改 SearchView 搜索图标 Xamarin.Android

2023-12-28

我正在尝试更改 SearchBarRenderer Android 自定义渲染器中的搜索图标

这就是我尝试过的

 Control.Iconified = false;
 Control.SetIconifiedByDefault(false);

 var searchView = Control.FindViewById<ImageView>(Resource.Id.search_button);
 var searchicon = Resources.GetDrawable(Resource.Drawable.search);
 searchView.SetImageDrawable(searchicon);

但是,searchIcon 始终为 null

当我循环遍历 SearchView 的子项时,我发现了带有 ID 的图像视图16909229但设置可绘制的图像并没有改变搜索图标


我正在尝试更改 SearchBarRenderer Android 自定义渲染器中的搜索图标

像这样修改你的代码:

[assembly:ExportRenderer(typeof(SearchBar), typeof(MySearchBarRenderer))]
namespace yourprjectnamespace
{
    public class MySearchBarRenderer : SearchBarRenderer
    {
        public MySearchBarRenderer(Context context) : base(context)
        {
        }

        protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.SearchBar> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                var searchView = Control;

                int searchViewCloseButtonId = Control.Resources.GetIdentifier("android:id/search_mag_icon", null, null);

                var closeIcon = searchView.FindViewById(searchViewCloseButtonId);
                (closeIcon as ImageView).SetImageResource(Resource.Mipmap.icon);
            }
        }
    }
}

Effect https://i.stack.imgur.com/8SnUP.png.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 SearchView 搜索图标 Xamarin.Android 的相关文章

随机推荐