【问题标题】:force to write uppercase in searchview in android强制在android的searchview中写大写
【发布时间】:2015-09-11 10:15:51
【问题描述】:

我需要强制用户在 searchview v7 中用大写字母书写你知道一种方法吗?类似于editText中使用的:

filter_text.setFilters(new InputFilter[]{new InputFilter.AllCaps()});

【问题讨论】:

  • 在 EditText 中,您也可以通过 xml 属性执行此操作...现在支持的 SearchView 将许多与 edittext 相关的属性传递给它自己的 edittext ...您尝试过吗?
  • 你应该把 android:inputType="textCapCharacters" 放在 xml 中
  • 我正在以编程方式添加搜索视图,顺便说一句如何添加 textCapCharacters?
  • 然后谷歌如何获得它的内部编辑文本......已经问过这样的问题
  • @Selvin 请提供这些解决方案的链接

标签: android android-appcompat searchview


【解决方案1】:

您可以在代码中添加以下内容。

searchView.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);

您可以添加的所有其他内容here

【讨论】:

  • 这个工作正常,但在 API 级别 28 中无法正常工作,搜索视图仍在使用小字符进行搜索
  • 这适用于 API 级别 28+:searchView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS)
【解决方案2】:

编辑

其实更好的办法是做

searchView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

或者,您还可以将android:inputType 设置为textCapWords 内的searchable.xml,如果您按照官方的SearchView 设置指南进行创建。

https://developer.android.com/training/search/setup.html

【讨论】:

    【解决方案3】:

    如果你想强制用户在你的EditText上写大写字母,你只需要添加android:inputType="textCapCharacters",你的设备上的键盘就会变成大写。

    【讨论】:

      【解决方案4】:

      要写第一个大写字母,你可以使用这个代码:

      search.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
      

      【讨论】:

        【解决方案5】:

        API 级别 28+:

        searchView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS)
        

        科特林

        inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS
        

        【讨论】:

          猜你喜欢
          • 2013-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-08
          • 2021-01-29
          • 2013-04-29
          • 1970-01-01
          相关资源
          最近更新 更多