Android Studioで大文字のボタンのテキストを小文字にすることはできません


184

ささいな質問があり、しばらくの間私を悩ませてきました。私はこれをグーグルしようとしましたが、誰も私と同じ問題を抱えているように見えないか、それを問題として見ません。レイアウトの下の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" />

次のようなボタンが表示されます これ] [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>

私はここに小さな何かが欠けているのを確実に知っていますが、ボタンのテキストで小文字/大文字を機能させるにはどうすればよいですか?

ありがとう!


異なる値のフォルダでbutton_1_name文字列を確認します。
Zeeshan Khan 14

1年後の@lpbug。まだ同じ問題に直面していて、私はここに着陸して解決策を得ました
Edijae Crusar

回答:


466

android:textAllCaps="false"ボタンに追加できます。

ボタンのテキストは、すべてのボタンに適用されるアプリのテーマによって大文字に変換される場合があります。属性の設定については、テーマ/スタイルファイルを確認してくださいandroid:textAllCaps


1
回答ありがとうございます!android:textAllCaps="false"回避策として機能しましたが、追加された新しいボタンはまだすべて大文字です。res / valuesの下のstyles.xmlに前述の属性がないようです。これがその内容です<resources> <!-- Base application theme. --> <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> </resources>
Alex H 14

15
あなたはテーマを継承しています Theme.Holo.Light.DarkActionBarその設定を含むしています。ボタンのスタイルを設定するには、新しい明示的なプロパティを追加する必要があります。たとえば、<style name="Widget.Button" parent="Widget.Button"><item name="android:textAllCaps">false</item></style>
Stelian Matei

1
これを追加した後、arrayindexoutofboundsexceptionでインフレエラーが発生します。
M. Usman Khan、

@usman例外がtextAllCapsプロパティに関連しているとは思えません。詳細を教えてください。
Stelian Matei 2016

1
これは、Buttonクラスを拡張する独自のカスタムクラスを使用している場合は機能しません。
えー ジョシ

28
<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>

シンプルで効果的。
Valandres

8

これは、ボタンのTransformationMethodをnullに設定することで、アプリケーションコードで修正できます。

mButton.setTransformationMethod(null);


4

それを行うには3つの方法があります。

1.アプリケーション全体を変更するには、style.xmlに次の行を追加します

<item name="android:textAllCaps">false</item>

2.使用

android:textAllCaps="false"

あなたの layout-v21

mButton.setTransformationMethod(null);
  1. この行をxmlの要素(ボタンまたは編集テキスト)の下に追加します

android:textAllCaps = "false"

よろしく



1

このように設定できます

button.setAllCaps(false);

プログラム的に


1

TextViewでこの問題に直面しました。私が試してみました

android:textAllCaps="false", 
mbutton.setAllCaps(false);   
<item name="android:textAllCaps">false</item> 

どれもうまくいきませんでした。最後にうんざりして、ハードコードされたテキストがあります

tv.setText("Mytext");

tvはTextViewのオブジェクトです。しかし、コーディング標準に従って、それは悪い習慣です。



0

XMLコードで
、次のコードのようにこの行を追加しandroid:textAllCaps="false" ます

 <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" ** />

または

Javaコードで(プログラムで
この行をボタンに追加しますsetAllCaps(false)

Button btn = (Button) findViewById(R.id.button2);
btn.setAllCaps(false);

0

財産がある<Button>ことがあるアンドロイドは:textAllCaps =「false」をあなた自身の小型キャップに先の文字を作ること。デフォルトではTrueになったので、このコードを記述してtextAllCaps = falseにすると、要件に応じてボタンにテキストを小さく大文字で書くことができます。要件に従って文字を書くために使用できるボタンの完全なコード。

 <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btnLogin"
            android:text="Login for Chat"
            android:textAllCaps="false"/>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.