ต่อไปนี้คือสิ่งที่ฉันเรียนรู้โดยการเล่นกับตัวเลือกต่าง ๆ เพื่อบังคับTextView
ให้เป็นหนึ่งบรรทัด (โดยมีและไม่มีจุดสามจุด)
หุ่นยนต์: maxLines = "1"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="one two three four five six seven eight nine ten" />
นี่เป็นเพียงการบังคับให้ข้อความถึงหนึ่งบรรทัด ซ่อนข้อความพิเศษใด ๆ
ที่เกี่ยวข้อง:
ellipsize = "จบ"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:text="one two three four five six seven eight nine ten" />
วิธีนี้จะตัดข้อความที่ไม่พอดี แต่ให้ผู้ใช้ทราบว่าข้อความถูกตัดทอนโดยการเพิ่มจุดไข่ปลา (จุดสามจุด)
ที่เกี่ยวข้อง:
ellipsize = "กระโจม"
<TextView
android:id="@+id/MarqueeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="one two three four five six seven eight nine ten" />
สิ่งนี้ทำให้การเลื่อนข้อความข้าม TextView โดยอัตโนมัติ โปรดทราบว่าบางครั้งจำเป็นต้องตั้งรหัส
textView.setSelected(true);
คาดคะเนandroid:maxLines="1"
และandroid:singleLine="true"
ควรจะทำสิ่งเดียวกันโดยทั่วไปและเนื่องจาก singleLine เห็นได้ชัดว่าเลิกฉันไม่ต้องการใช้มัน แต่เมื่อฉันเอามันออกกระโจมไม่เลื่อนอีกต่อไป maxLines
แม้ว่าการออกไปจะไม่มีผลกับมัน
ที่เกี่ยวข้อง:
HorizontalScrollView พร้อมการเลื่อนในแนวนอน
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/horizontalScrollView">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:scrollHorizontally="true"
android:text="one two three four five six seven eight nine ten" />
</HorizontalScrollView>
สิ่งนี้ทำให้ผู้ใช้สามารถเลื่อนดูข้อความทั้งหมดได้ด้วยตนเอง