ไม่สามารถลดข้อความปุ่มตัวพิมพ์เล็กใน android studio


184

ฉันมีคำถามเล็ก ๆ น้อย ๆ ที่รบกวนฉันมาระยะหนึ่งแล้ว ฉันพยายาม google นี้ แต่ดูเหมือนจะไม่มีใครมีปัญหาเช่นเดียวกับฉันหรือไม่เห็นว่ามันเป็นปัญหา เมื่อฉันสร้างปุ่มใน 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

@lpbug หนึ่งปีต่อมา ยังคงเผชิญกับปัญหาเดียวกันและฉันลงจอดที่นี่และได้รับการแก้ปัญหา
Edijae Crusar

คำตอบ:


466

คุณสามารถเพิ่มandroid:textAllCaps="false"ปุ่ม

ข้อความของปุ่มอาจเปลี่ยนเป็นตัวพิมพ์ใหญ่ตามธีมของแอปที่ใช้กับปุ่มทั้งหมด ตรวจสอบไฟล์รูปแบบ / android:textAllCapsรูปแบบสำหรับการตั้งค่าแอตทริบิวต์


1
ขอบคุณสำหรับคำตอบ! android:textAllCaps="false"ทำงานเป็นวิธีแก้ปัญหา แต่ปุ่มใหม่ที่เพิ่มเข้ามานั้นยังคงเป็นตัวพิมพ์ใหญ่ทั้งหมด styles.xml ของฉันภายใต้ความละเอียด / ค่าดูเหมือนว่าจะมีคุณสมบัติดังกล่าวข้างต้น นี่คือสิ่งที่มันมี<resources> <!-- Base application theme. --> <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> </resources>
อเล็กซ์ H

15
คุณกำลังสืบทอดธีมTheme.Holo.Light.DarkActionBarที่มีการตั้งค่านั้น คุณต้องเพิ่มคุณสมบัติใหม่อย่างชัดเจนสำหรับปุ่มจัดแต่งทรงผมเช่น<style name="Widget.Button" parent="Widget.Button"><item name="android:textAllCaps">false</item></style>
Stelian Matei

1
หลังจากเพิ่มสิ่งนี้ฉันมีข้อผิดพลาดเงินเฟ้อกับอาร์เรย์ออกนอกขอบเขตการยกเว้น
M. Usman Khan

@usman ฉันสงสัยว่าข้อยกเว้นเกี่ยวข้องกับtextAllCapsคุณสมบัตินี้ คุณสามารถให้รายละเอียดเพิ่มเติมได้หรือไม่?
Stelian Matei

1
สิ่งนี้จะไม่ทำงานเมื่อคุณใช้คลาสที่คุณกำหนดเองเพื่อขยายคลาสของปุ่ม
เอ้อ 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

สิ่งนี้สามารถแก้ไขได้ในรหัสแอปพลิเคชันโดยการตั้งค่าปุ่มการเปลี่ยนแปลง

mButton.setTransformationMethod(null);

6

เพิ่มandroid:textAllCaps="false"ในปุ่ม xml มันเป็นเรื่องจริงสำหรับปัญหานี้


1
นี้เป็นเพียงการทำซ้ำคำตอบที่ได้รับการยอมรับ
ปาง

ฉันโพสต์คำตอบที่ดีนิดหน่อยที่นี่: stackoverflow.com/questions/26958909/ …
2288580

4

มี 3 วิธีในการทำ

1. เพิ่มบรรทัดต่อไปนี้บน style.xml เพื่อเปลี่ยนแอปพลิเคชันทั้งหมด

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

2.use

android:textAllCaps="false"

ในของคุณ layout-v21

mButton.setTransformationMethod(null);
  1. เพิ่มบรรทัดนี้ภายใต้องค์ประกอบ (ปุ่มหรือแก้ไขข้อความ) ใน xml

หุ่นยนต์: textAllCaps = "false"

ความนับถือ




1

ฉันประสบปัญหานี้ใน TextView ฉันเหนื่อย

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

ไม่มีสิ่งใดที่เหมาะกับฉัน ในที่สุดฉันก็เบื่อและมีข้อความที่เขียนยากมันก็ใช้งานได้

tv.setText("Mytext");

ทีวีเป็นวัตถุของ 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>ที่เป็นandroid: textAllCaps = "false"ที่สร้างตัวละครที่คุณต้องการใน Small และตัวพิมพ์ใหญ่ของคุณเอง โดยค่าเริ่มต้นมันกลายเป็นจริงดังนั้นเขียนรหัสนี้และทำให้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.