更改SearchView文本颜色Xamarin.Android

时间:2018-07-11 05:56:53

标签: c# android xamarin xamarin.android

我想在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中,我得到了类似126312727的视图ID

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

这是直接使用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);

答案 1 :(得分:0)

我需要将以下内容与AppCompat和CrossCurrentActivity插件配合使用。

var searchEditText = (CrossCurrentActivity.Current?.Activity as MainActivity)?.FindViewById<AutoCompleteTextView>(Resource.Id.search_src_text);
searchEditText.SetTextColor(Color.Red);