Delphi TEdit ใน Android - ปิด auto-caps ตาม TEdit

Dec 09 2020

ขณะนี้ Android TEdit เมื่อเปิดคีย์บอร์ดขึ้นมาจะมีแป้นพิมพ์ใน Caps สำหรับตัวอักษรตัวแรก

ฉันต้องการปิดแป้นพิมพ์อัตโนมัติเพื่อเข้าสู่ Caps สำหรับตัวอักษรตัวแรก หมายเหตุ: ฉันไม่ต้องการทำสิ่งนี้ใน Android - การตั้งค่า -> ซึ่งจะใช้กับทั้งแอป ฉันต้องการทำแบบต่อ TEdit

น่าแปลกที่ฉันไม่พบข้อมูลเกี่ยวกับการดำเนินการนี้ใน Delphi คุณสมบัติใน TEdit ดูเหมือนจะไม่มีอะไรเกี่ยวกับการใช้อักษรตัวพิมพ์ใหญ่

ฉันไม่สามารถใช้คุณสมบัติ TEdit.CharCase ได้เนื่องจากมันบังคับให้อินพุตทั้งหมดใน TEdit เป็นตัวพิมพ์เล็ก

สิ่งที่ฉันต้องการคือผู้ใช้สามารถพิมพ์ในกรณีผสมได้หากพวกเขาเลือกแต่แป้นพิมพ์จะต้องเป็นตัวพิมพ์เล็กเมื่อ TEdit เข้ามาในโฟกัสก่อน

แป้นพิมพ์เสมือนของ Android เปิด Caps Lock

ดูจากลิงค์ด้านบนดูเหมือนว่าจะทำได้สำเร็จ

ฉันจะทำสิ่งนี้ใน Delphi ได้อย่างไร?

Delphi 10.2 (จะเปลี่ยนเป็น 10.4.1 เร็ว ๆ นี้)

คำตอบ

2 DaveNottage Dec 11 2020 at 03:12

เมื่อใช้ Delphi 10.4.1 คุณสามารถทำได้ด้วยวิธีนี้ตัวอย่างเช่น:

uses
  Androidapi.JNI.GraphicsContentViewText,
  FMX.Platform.Android;

procedure TForm1.Edit2Enter(Sender: TObject);
begin
  PlatformAndroid.TextInputManager.GetEditText.setInputType(TJInputType.JavaClass.TYPE_CLASS_TEXT);
end;

ฉันมีตัวควบคุมการแก้ไข 2 รายการในแอปทดสอบของฉัน โค้ดด้านบนคือตัวจัดการเหตุการณ์ OnEnter สำหรับการแก้ไขครั้งที่ 2 ไม่ใช้ตัวพิมพ์ใหญ่เป็นตัวพิมพ์ใหญ่

ฉันคาดว่าคุณจะไม่สามารถใช้สิ่งนี้กับ 10.2 ได้