56

我有文本视图。我想以大写模式显示文本。有大写的属性吗?只是我在 strings.xml 中有文本,我需要在几个地方使用该行作为小写和大写。

4

11 回答 11

99

在布局 XML 中,您可以设置android:textAllCaps属性TextView

<TextView android:textAllCaps="true"></TextView>
于 2013-10-02T04:01:18.377 回答
73

String将文本设置为TextViewas时使用类方法

tv.setText(strings.toUpperCase());

请查看帖子以进行详细讨论。

编辑:这是在 API 14 之前回答的。正如这里提到的其他答案,textView.isAllCaps = true它的 java 方法是从TextView. 请使用那些。

于 2012-08-28T12:37:15.447 回答
29

以编程方式textView.setAllCaps(false)将其用于原样和用于 XML 布局textView.setAllCaps(true)的大写 android:textAllCaps="true"

于 2013-10-02T05:44:31.517 回答
11

科特林:

textView.isAllCaps = true
于 2018-07-09T08:26:42.877 回答
9

对于 XML 方法,您不想使用它,android:capitalize因为它是在文本输入期间使用的。相反,使用textAllCaps。如果您的字符串被声明为小写,那么在每个 TextView 的基础上在大写和小写之间切换非常简单。

于 2012-08-28T12:46:26.697 回答
9

用它

<TextView android:textAllCaps="true"></TextView>
于 2017-08-10T09:54:19.783 回答
6

我相信没有这样的属性,但你可以使用

textView.setText(text.toUpperCase());

也发现了这个,虽然我自己从未测试过

android:capitalize="characters"
于 2012-08-28T12:36:29.533 回答
3

尝试这个。

大写

textView.setText(getResources().getString(R.string.app_name).toUpperCase());

小写

textView.setText(getResources().getString(R.string.app_name).toLowerCase());
于 2012-08-28T12:42:45.343 回答
3

在布局文件中设置 android:textAllCaps="true"。

编辑:如果您使用的是 kotlin,请使用 .capliatlized() 方法 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/capitalize.html

于 2017-08-10T13:07:40.883 回答
2

您可以创建从 TextView 派生的自定义视图并覆盖 setText 方法以大写。

于 2012-08-28T12:43:17.187 回答
2

您可以在 android xml 文件中轻松做到这一点。您应该将此行添加到 TextView。

 <TextView 
      android:textAllCaps="true"/>

如果你想在代码中这样做,你可以这样做:

        textView.setText(strings.toUpperCase());
于 2020-07-16T08:17:56.273 回答