【问题标题】:Change SearchView Text Color Xamarin.Android更改 SearchView 文本颜色 Xamarin.Android
【发布时间】:2018-07-11 05:56:53
【问题描述】:

我想更改 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

任何人都可以在上面帮助我吗?

【问题讨论】:

标签: c# android xamarin xamarin.android


【解决方案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);

【讨论】:

  • 谢谢!!它的工作,但光标具有主题颜色。我们如何改变光标颜色?
  • 嘿@SushiHangover,是否也可以更改光标颜色?我尝试更改强调色,但它是在全局主题中定义的,那么如何仅针对 SearchView 执行此操作?
  • @Sandeep-Systematix 是的,但我不记得了...我稍后会看我的一些代码...
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2016-09-06
    • 2021-08-20
    • 2013-08-18
    • 1970-01-01
    • 2016-01-22
    • 2018-12-09
    • 2012-07-04
    • 1970-01-01
    相关资源
    最近更新 更多