在Xamarin.Android中更改SearchView文本颜色

4
我想要在Xamarin.Android中更改搜索文本视图的颜色。我已经尝试了以下代码:
        searchView = this.Activity.FindViewById<Android.Support.V7.Widget.SearchView (Resource.Id.searchView);
        searchView.SetOnQueryTextListener(this);
        var textViewId = searchView.Context.Resources.GetIdentifier("android:id/search_src_text", null, null);
        var textView = (searchView.FindViewById(textViewId) as TextView);
        if (textView != null)
            textView.SetTextColor(global::Android.Graphics.Color.White);

当我尝试捕获textView时,我得到了NULL。

textViewId中,我获取了视图的ID,类似于126312727

有人能帮我解决上述问题吗?


请查看此链接:https://dev59.com/hGMl5IYBdhLWcg3woYEu#66246372 - KennyAli
2个回答

2

这是从使用 Android.Support.V7.Widget.SearchView 的应用程序中提取的内容。

var id = searchView.Context.Resources.GetIdentifier("search_src_text", "id", PackageName);
var searchEditText = searchView.FindViewById<EditText>(id);
searchEditText.SetTextColor(Color.Red);

谢谢!它正在工作,但光标具有主题颜色。我们如何更改光标颜色? - SandeepM
嘿 @SushiHangover,改变光标颜色也可以吗?我试图改变强调色,但它被定义在全局主题中,所以如何仅针对SearchView进行更改呢? - SandeepM
@Sandeep-Systematix 是的,但我现在想不起来了...稍后我会查看我的一些代码... - SushiHangover

0
我需要在使用AppCompat和CrossCurrentActivity插件时使用以下内容。
var searchEditText = (CrossCurrentActivity.Current?.Activity as MainActivity)?.FindViewById<AutoCompleteTextView>(Resource.Id.search_src_text);
searchEditText.SetTextColor(Color.Red);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接