gpt4 book ai didi

c# - Xamarin - 删除 Android 中的 SearchBar 下划线

转载 作者:太空狗 更新时间:2023-10-30 00:38:17 26 4
gpt4 key购买 nike

我正在尝试删除 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 的板 block 。例如,您可以这样编写代码:

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);
}
}

关于c# - Xamarin - 删除 Android 中的 SearchBar 下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42845478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com