c# – Xamarin – 删除Android中的SearchBar下划线
作者:互联网
我试图在Android上的SearchBar控件下删除黑色下划线.我写了一个我认为会完成这个的CustomRender,但没有运气:
[assembly: ExportRenderer(typeof(NoUnderlineSearchBar), typeof(NoUnderlineSearchBarRenderer))]
namespace XamarinDemo.Droid.CustomRenderers
{
public class NoUnderlineSearchBarRenderer : SearchBarRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged(e);
if (Control != null)
{
this.Control.SetBackgroundColor(Android.Graphics.Color.Argb(0, 0, 0, 0));
}
}
}
}
这似乎适用于Entry字段,但不适用于SearchBars.有谁知道如何在自定义渲染器中删除SearchBar下划线?谢谢!
解决方法:
你是正确的创建一个自定义渲染器,但在你的渲染器,要删除下划线,我们需要首先在本机android中找到SearchView的盘子.你可以这样编码:
protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged(e);
if (Control != null)
{
var plateId = Resources.GetIdentifier("android:id/search_plate", null, null);
var plate = Control.FindViewById(plateId);
plate.SetBackgroundColor(Android.Graphics.Color.Transparent);
//this.Control.SetBackgroundColor(Android.Graphics.Color.Argb(0, 0, 0, 0));
}
}
标签:c,xamarin,xamarin-android,xamarin-forms,searchbar 来源: https://codeday.me/bug/20190611/1217829.html