我正在尝试更改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总是空的。
当我遍历SearchView的子程序时,我找到了ID为16909229的图像视图,但是设置可绘制的图像并没有改变搜索图标
发布于 2018-09-18 06:57:18
我正在尝试更改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);
}
}
}
}效果。
发布于 2018-09-17 13:06:46
如果您使用的是android.support.v7.widget.SearchView,您可以尝试这样设置它:
var searchIcon = (ImageView) searchView.FindViewById(Resource.Id.search_mag_icon);
searchIcon.SetImageResource(Resource.Drawable.my_custom_search_icon);来源:https://stackoverflow.com/a/20362491/6248510 --这不是同一个问题,但它与它有关,在回答中,它包括了一种设置它的方法
https://stackoverflow.com/questions/52368039
复制相似问题