Bạn có thể chỉnh sửa và tạo kiểu cho văn bản bằng cách sử dụng dải văn bản, được biểu thị bằng giá trị
Loại TextRange
. TextRange
đại diện cho một đoạn văn bản trong một hình dạng hoặc
trong một ô của bảng. Gọi getText()
trên một hình dạng hoặc ô trong bảng sẽ trả về một
phạm vi văn bản bao gồm toàn bộ văn bản.
Nếu bạn dùng các phương thức chỉnh sửa cách văn bản vừa với một hình dạng, thì mọi chế độ cài đặt tự động điều chỉnh được áp dụng cho hình dạng đều bị vô hiệu hoá.
Sử dụng dải ô văn bản
Một dải ô văn bản có 2 chỉ mục phân cách đoạn văn bản
nằm trong phạm vi văn bản: chỉ mục bắt đầu và chỉ mục kết thúc. Bạn có thể xác định
các chỉ mục này bằng cách sử dụng hàm getStartIndex()
và getEndIndex()
.
Để đọc nội dung của một dải ô văn bản, hãy dùng asString()
hoặc
Hàm asRenderedString()
.
Để truy xuất một dải ô phụ trong một dải ô văn bản, hãy dùng hàm getRange()
.
Tập lệnh sau đây sẽ tạo một hộp văn bản trên trang trình bày đầu tiên và thiết lập nội dung văn bản của hộp văn bản đó thành "Hello world!". Sau đó, ứng dụng sẽ truy xuất một dải ô con chỉ mở rộng dòng chữ "Hello".
Phạm vi văn bản được trả về bởi một hình dạng hoặc ô bảng sẽ luôn bao gồm toàn bộ văn bản, ngay cả khi văn bản được chèn và xoá. Ví dụ trên tạo ra các câu lệnh nhật ký sau:
Start: 0; End: 13; Content: Hello world! Start: 0; End: 5; Content: Hello
Chèn và xoá văn bản
Bạn cũng có thể chèn và xoá các hình dạng văn bản cũng như ô trong bảng bằng cách sử dụng dải văn bản.
insertText()
vàappendText()
cho phép bạn chèn văn bản.setText()
thay thế văn bản của dải ô văn bản bằng văn bản được cung cấp.clear()
xoá văn bản trong một dải ô văn bản.
Tập lệnh sau đây minh hoạ cách sử dụng các hàm này:
Tập lệnh này sẽ tạo một hộp văn bản trên trang trình bày đầu tiên và thiết lập nội dung văn bản của hộp văn bản đó thành "Hello world!". Sau đó, thao tác này sẽ xoá các ký tự từ 6 đến 11 ("thế giới") và chèn văn bản "thiên hà" tại chỉ mục 6. Ví dụ trên tạo ra câu lệnh nhật ký sau:
Start: 0; End: 14; Content: Hello galaxy!
Tìm kiếm và thay thế
Dùng hàm replaceAllText()
trên bản trình bày hoặc trang để thực hiện lệnh chung
tìm và thay thế trên toàn bộ bản trình bày hoặc một trang cụ thể.
Hàm find()
trên Textrange trả về các thực thể của một chuỗi trong
dải ô. Có thể dùng thao tác này cùng với setText()
để thực hiện thao tác tìm và thay thế
trong một hình dạng hoặc ô trong bảng.
Đoạn, mục danh sách và lần chạy
TextRange
cung cấp các hàm để trả về tập hợp các thực thể văn bản hữu ích.
Một số chức năng này bao gồm:
getParagraphs(),
cung cấp tất cả các đoạn chồng lên dải ô văn bản. Đáp đoạn là một chuỗi văn bản kết thúc bằng ký tự dòng mới "\n".getListParagraphs(),
trả về các mục danh sách trong dải ô văn bản hiện tại.getRuns(),
cung cấp các chuỗi văn bản chồng lên dải ô văn bản hiện tại. Đáp đoạn văn bản chạy là một đoạn văn bản mà trong đó tất cả các ký tự có cùng một văn bản phong cách.
Định kiểu văn bản
Kiểu văn bản xác định cách hiển thị ký tự văn bản trong bản trình bày của bạn, bao gồm phông chữ, màu sắc và siêu liên kết.
Hàm getTextStyle()
của dải ô văn bản cung cấp đối tượng TextStyle
dùng để
định kiểu văn bản. Đối tượng TextStyle
bao gồm cùng văn bản với TextRange
mẹ.
Trong ví dụ trên, trước tiên, hãy tạo một hộp văn bản trên trang trình bày đầu tiên và đặt
thành "Xin chào". Sau đó, mã này sẽ nối văn bản "world!". Văn bản mới được thêm vào
được in đậm, liên kết với www.example.com
và màu được đặt
sang màu đỏ.
Khi đọc kiểu, hàm sẽ trả về giá trị rỗng nếu dải ô có nhiều giá trị cho phong cách. Do đó mẫu trên tạo ra các câu lệnh nhật ký sau:
Text: Hello; Bold: false Text: world!; Bold: true Text: Hello world!; Bold: null
Có nhiều kiểu khác có thể áp dụng cho văn bản. Bạn có thể xem thêm thông tin chi tiết
trong tài liệu tham khảo về TextStyle
.
Định kiểu đoạn
Kiểu đoạn áp dụng cho toàn bộ đoạn văn và bao gồm cả những yếu tố như căn chỉnh văn bản và dòng
giãn cách. Hàm getĐoạnStyle() trong TextRange
cung cấp ParagraphStyle
để tạo kiểu cho tất cả các đoạn chồng lên dải ô văn bản mẹ.
Ví dụ sau đây sẽ tạo một hộp văn bản trên trang trình bày đầu tiên có 4 đoạn văn bản, sau đó căn giữa ba đoạn đầu tiên.
Định kiểu danh sách
Tương tự như ParagraphStyle
, bạn có thể dùng ListStyle
để định kiểu cho tất cả các đoạn
chồng lên dải ô văn bản gốc.
Ví dụ trên sẽ tạo một hộp văn bản trên trang trình bày đầu tiên, gồm 4 đoạn văn: đoạn thứ hai được thụt lề một lần và đoạn thứ ba được thụt lề 2 lần. Sau đó, giá trị này áp dụng giá trị đặt trước trong danh sách cho tất cả các đoạn. Cuối cùng, mỗi mức lồng ghép của đoạn được ghi lại. (Mức lồng ghép của đoạn văn bản được lấy từ số thẻ trước văn bản của đoạn). Tập lệnh trên tạo ra các câu lệnh nhật ký sau:
Paragraph 1's nesting level: 0 Paragraph 2's nesting level: 1 Paragraph 3's nesting level: 2 Paragraph 4's nesting level: 0