Tidak dapat menurunkan teks tombol huruf besar di android studio


184

Saya punya pertanyaan sepele yang telah mengganggu saya untuk sementara waktu. Saya mencoba google ini tetapi tampaknya tidak ada yang memiliki masalah yang sama dengan saya atau tidak melihatnya sebagai masalah. Ketika saya membuat tombol di activity_my.xml di bawah tata letak

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

Saya mendapatkan tombol yang terlihat seperti ini] [Imgur

meskipun kode string saya adalah:

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

Saya tahu saya benar-benar kehilangan sesuatu yang kecil di sini, tetapi bagaimana cara mendapatkan huruf kecil / huruf besar bekerja di teks tombol?

Terima kasih!


Periksa folder nilai yang berbeda untuk string button_1_name.
Zeeshan Khan

@ lpbug satu tahun kemudian. masih menghadapi masalah yang sama dan saya mendarat di sini dan mendapatkan solusinya
Edijae Crusar

Jawaban:


466

Anda bisa menambahkan android:textAllCaps="false"ke tombol.

Teks tombol mungkin ditransformasikan menjadi huruf besar oleh tema aplikasi Anda yang berlaku untuk semua tombol. Periksa file tema / gaya untuk mengatur atribut android:textAllCaps.


1
Terima kasih atas tanggapannya! android:textAllCaps="false"memang berfungsi sebagai solusi tetapi tombol baru yang ditambahkan masih dikapitalisasi semua. Styles.xml saya di bawah res / values ​​tampaknya tidak memiliki atribut yang disebutkan di atas. Inilah yang dimilikinya<resources> <!-- Base application theme. --> <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> </resources>
Alex H

15
Anda mewarisi tema Theme.Holo.Light.DarkActionBar, yang berisi pengaturan itu. Anda harus menambahkan properti eksplisit baru untuk tombol gaya, misalnya<style name="Widget.Button" parent="Widget.Button"><item name="android:textAllCaps">false</item></style>
Stelian Matei

1
Setelah menambahkan ini, saya mengalami kesalahan inflasi dengan arrayindexoutofboundsexception.
M. Usman Khan

@ Usman Saya ragu bahwa pengecualian terkait dengan textAllCapsproperti. Bisakah Anda memberikan rincian lebih lanjut?
Stelian Matei

1
Ini tidak akan berfungsi ketika Anda menggunakan kelas kustom Anda sendiri memperluas kelas Tombol.
Er. 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>

Sederhana dan efektif.
Valandres

8

Ini dapat diperbaiki dalam kode aplikasi dengan mengatur nol tombol TransformationMethod, misalnya

mButton.setTransformationMethod(null);


4

ada 3 cara untuk melakukannya.

1.Tambahkan baris berikut pada style.xml untuk mengubah seluruh aplikasi

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

2.Gunakan

android:textAllCaps="false"

di Anda layout-v21

mButton.setTransformationMethod(null);
  1. tambahkan baris ini di bawah elemen (tombol atau edit teks) di xml

android: textAllCaps = "false"

salam



1

Anda bisa mengatur seperti ini

button.setAllCaps(false);

secara terprogram


1

Saya menghadapi masalah ini di TextView. saya telah mencoba

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

tidak ada yang bekerja untuk saya. Akhirnya saya muak dan saya memiliki teks kode keras, itu berfungsi.

tv.setText("Mytext");

tv adalah objek dari TextView. Tetapi sesuai standar pengkodean, itu adalah praktik yang buruk.



0

dalam XML Code
tambahkan baris ini android:textAllCaps="false" seperti kode di bawah ini

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

atau

dalam kode Java (secara terprogram )
tambahkan baris ini ke tombol AndasetAllCaps(false)

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

0

Ada properti di dalamnya<Button> yaitu android: textAllCaps = "false" yang membuat karakter yang Anda inginkan dalam Small dan caps Anda sendiri. Secara default menjadi True jadi tulis kode ini dan buat textAllCaps = false maka Anda dapat menulis teks pada tombol dalam huruf kecil dan Caps sesuai kebutuhan Anda. Kode lengkap untuk Tombol yang memungkinkan digunakan untuk menulis surat sesuai kebutuhan kami.

 <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btnLogin"
            android:text="Login for Chat"
            android:textAllCaps="false"/>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.