ดูเหมือนว่าเป็นไปไม่ได้ที่จะเพิ่มบรรทัดใหม่/n
ไปยังสตริงทรัพยากร XML มีวิธีอื่นในการทำเช่นนี้หรือไม่?
ดูเหมือนว่าเป็นไปไม่ได้ที่จะเพิ่มบรรทัดใหม่/n
ไปยังสตริงทรัพยากร XML มีวิธีอื่นในการทำเช่นนี้หรือไม่?
คำตอบ:
ใช้ blackslash ไม่ใช่ forlash ข้างหน้า \n
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello\nWorld!</string>
</resources>
นอกจากนี้หากคุณวางแผนที่จะใช้สตริงเป็น HTML คุณสามารถใช้<br />
สำหรับการขึ้นบรรทัดใหม่ ( <br />
)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello<br />World!</string>
</resources>
ฉันรู้ว่านี่เป็นคำถามที่ค่อนข้างเก่า แต่มันอยู่ในอันดับต้น ๆ เมื่อฉันค้นหา ฉันต้องการอัปเดตด้วยวิธีอื่น
ในไฟล์ strings.xml คุณสามารถทำ \ n หรือคุณสามารถกด Enter:
<string name="Your string name" > This is your string. This is the second line of your string.\n\n Third line of your string.</string>
ซึ่งจะส่งผลต่อไปนี้ใน TextView ของคุณ:
นี่คือสตริงของคุณ
นี่คือบรรทัดที่สองของสตริงของคุณ
บรรทัดที่สามของสตริงของคุณ
นี่เป็นเพราะมีสองคืนระหว่างการประกาศเริ่มต้นของสายอักขระและบรรทัดใหม่ ฉันได้เพิ่ม \ n ลงไปเพื่อความกระจ่างเพราะสามารถใช้ได้ ฉันต้องการใช้การคืนค่าขนส่งใน xml เพื่อดูรายการหรือสตริง multiline ที่ฉันมี สองเซ็นต์ของฉัน
นี่เป็นคำถามเก่า แต่ฉันพบว่าเมื่อคุณสร้างสตริงเช่นนี้
<string name="newline_test">My
New line test</string>
ผลลัพธ์ในแอปของคุณจะเป็นเช่นนี้ (ไม่มีบรรทัดใหม่)
My New line test
เมื่อคุณใส่สตริงในเครื่องหมายคำพูด
<string name="newline_test">"My
New line test"</string>
บรรทัดใหม่จะปรากฏขึ้น:
My
New line test
Html.fromHtml
แต่เพียงในกรณีที่จำได้ว่าเมื่อคุณกำหนดทรัพยากรเช่นข้างต้นคุณควรหลีกเลี่ยงการใช้ ขอบคุณ
\n
ทุกที่ (ซึ่งสามารถกลายเป็นอ่านไม่ได้และทำให้สับสน) ไม่จำเป็นต้องพูด แต่ในกรณี: ถ้าคุณต้องการมีเครื่องหมายคำพูดตามตัวอักษรในข้อความของคุณคุณต้องหลบหนี:\"
หากคุณใส่ "\ n" ลงในสตริงในไฟล์ xml จะถือว่าเป็น "\\ n"
ดังนั้นฉัน:
text = text.Replace("\\\n", "\n"); ( text is taken from resX file)
แล้วฉันก็กระโดดขึ้นบรรทัดบนหน้าจอ
เมื่อใช้เครื่องมือแก้ไขการแปลใน Android Studio เพียงคลิกที่ไอคอนทางด้านขวา (หรือใช้ Shift-Enter) แล้วเพิ่มตัวแบ่งบรรทัดโดยใช้การส่งคืน สิ่งนี้จะแทรก \ n อย่างถูกต้องใน strings.xml ที่แปลแล้ว
ในสตูดิโอ Android รุ่นล่าสุดจะมีการพิมพ์ "\ n" เหมือนกำลังจะมีเว้นแต่ว่าสตริงทั้งหมดเป็นอะพอสโทรฟี
ตัวอย่างเช่น:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">"Hello\nWorld!"</string>
</resources>
ง่ายมากที่คุณจะต้องใส่
\ n ใน
ตำแหน่งที่คุณต้องการแบ่งบรรทัดในทรัพยากรสตริงของคุณ
ตัวอย่างเช่น
String s = my string resource have \n line break here;
อย่าใช้ที่ว่างหลัง \ n ไม่เช่นนั้นมันจะไม่ทำงาน ฉันไม่รู้เหตุผล แต่เคล็ดลับนี้ใช้ได้กับฉันค่อนข้างดี
ฉันต้องการที่จะขยายตัวในนี้คำตอบ สิ่งที่พวกเขาหมายถึงคือไอคอนนี้:
มันเปิด "หน้าต่างตัวแก้ไขจริง" แทนกล่องข้อความคุณลักษณะ จำกัด ในภาพรวมขนาดใหญ่ ในหน้าต่างตัวแก้ไขนั้น chars พิเศษ linebreaks ฯลฯ จะได้รับอนุญาตและแปลงเป็น "รหัส" xml ที่ถูกต้องเมื่อบันทึก
ฉันเพิ่งประสบปัญหานี้ ไม่ทำงานTextView
กับพารามิเตอร์ข้อ จำกัด การเพิ่มandroid:lines="2"
ดูเหมือนว่าจะแก้ไขปัญหานี้