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

다음과 같은 버튼이 나타납니다 [이것]

내 문자열 코드는 다음과 같습니다.

<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

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

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 2019

1
사용자 정의 클래스 확장 Button 클래스를 사용하는 경우 작동하지 않습니다.
어. Joshi

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

또는

자바 코드 ( 프로그램 )
귀하의 버튼이 줄을 추가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.