不能在android studio中小写按钮文本

Ale*_*x H 170 android button android-studio

我有一个琐碎的问题困扰了我一段时间.我试图谷歌这个,但没有人似乎和我有同样的问题或没有看到它作为一个问题.当我在布局下的activity_my.xml中创建一个按钮时

 <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_1_name"
    android:id="@+id/button2"
    android:layout_marginTop="140dp"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true" />
Run Code Online (Sandbox Code Playgroud)

我得到一个看起来像的按钮 这] [Imgur

即使我的字符串代码是:

<resources>

<string name="app_name">HelloWorld</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="button_1_name">BuTtOn 1</string>
Run Code Online (Sandbox Code Playgroud)

我知道我肯定在这里缺少一些小东西,但是我如何在按钮文本中使用小写/大写字母?

谢谢!

Ste*_*tei 424

您可以添加android:textAllCaps="false"到按钮.

按钮文本可能会被适用于所有按钮的应用主题转换为大写.检查主题/样式文件以设置属性android:textAllCaps.

  • 您将继承包含该设置的主题`Theme.Holo.Light.DarkActionBar`.你必须为样式按钮添加新的显式属性,例如`<style name ="Widget.Button"parent ="Widget.Button"> <item name ="android:textAllCaps"> false </ item> </ style> (15认同)

sus*_*i99 26

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:buttonStyle">@style/Button</item>
</style>

<style name="Button" parent="Widget.AppCompat.Button">
    <item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)


小智 10

通过在Activity_main.xml视图中使用以下代码可以轻松完成此操作:

android:textAllCaps="false"
Run Code Online (Sandbox Code Playgroud)

在你的情况下,它将如下:

 <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_1_name"
android:id="@+id/button2"
android:layout_marginTop="140dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:textAllCaps="false" />
Run Code Online (Sandbox Code Playgroud)

您还可以通过将其添加到您的styles/themes.xml来更改应用程序中的所有按钮:

<style name="AppTheme" parent="AppBaseTheme">
<item name="android:buttonStyle">@style/Button</item>
</style>

<style name="Button" parent="Widget.AppCompat.Button">
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

还可以通过在mainActivity.kt 或 mainActivity.java中使用以下内容以编程方式设置:

Button btn = (Button) findViewById(R.id.button2);
btn.setAllCaps(false);
Run Code Online (Sandbox Code Playgroud)


Att*_*lah 8

通过将按钮的TransformationMethod设置为null,可以在应用程序代码中修复此问题,例如

mButton.setTransformationMethod(null);
Run Code Online (Sandbox Code Playgroud)


小智 6

添加android:textAllCaps="false"xml按钮这个问题确实如此.