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. Dải văn bản được biểu thị bằng loại TextRange
. TextRange
biểu thị một đoạn văn bản trong một hình dạng hoặc trong một ô của bảng. Việc gọi getText()
trên một ô hình dạng hoặc ô bảng sẽ trả về một dải văn bản bao gồm toàn bộ văn bản.
Nếu bạn sử dụng các phương thức chỉnh sửa cách văn bản vừa với 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 sẽ bị huỷ kích hoạt.
Sử dụng dải văn bản
Một dải ô văn bản có 2 chỉ mục phân định đoạn văn bản do dải ô văn bản bao phủ: 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 các hàm getStartIndex()
và getEndIndex()
.
Để đọc nội dung của một dải văn bản, hãy dùng hàm asString()
hoặc asRenderedString()
.
Để truy xuất một dải ô con trong một dải ô văn bản, hãy sử 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à đặt nội dung văn bản của hộp đó thành "Hello world!". Sau đó, nó sẽ truy xuất một dải ô phụ chỉ bao gồm "Hello".
Phạm vi văn bản do một ô trong bảng hoặc hình dạng trả về 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ì vậy, ví dụ trên sẽ 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 và ô 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 một 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 tạo một hộp văn bản trên trang trình bày đầu tiên và đặt nội dung văn bản của hộp đó thành "Xin chào thế giới!". Sau đó, hàm này sẽ xoá các ký tự từ 6 đến 11 ("world") và chèn văn bản "galaxy" vào 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 và thay thế
Sử dụng hàm replaceAllText()
trên bản trình bày hoặc trang để thực hiện thao tác 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 phạm vi. Bạn có thể dùng phương thức này cùng với setText()
để thực hiện thao tác tìm và thay thế trong một ô của hình dạng hoặc bảng.
Đoạn văn, mục trong danh sách và đoạn văn
TextRange
cung cấp các hàm để trả về các tập hợp thực thể văn bản hữu ích.
Một số chức năng trong số đó bao gồm:
getParagraphs(),
cung cấp tất cả các đoạn văn trùng lặp với dải văn bản. Đoạn vă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 trong danh sách trong dải văn bản hiện tại.getRuns(),
cung cấp các đoạn văn bản trùng lặp với dải văn bản hiện tại. Chạy văn bản là một đoạn văn bản mà tất cả các ký tự đều có cùng kiểu văn bản.
Tạo kiểu văn bản
Kiểu văn bản xác định cách hiển thị các ký tự văn bản trong bản trình bày của bạn, bao gồm cả phông chữ, màu sắc và siêu liên kết.
Hàm getTextStyle()
của một dải văn bản cung cấp một đối tượng TextStyle
dùng để tạo kiểu cho văn bản. Đối tượng TextStyle
bao gồm cùng một văn bản như TextRange
mẹ của đối tượng đó.
Ví dụ trên trước tiên sẽ tạo một hộp văn bản trên trang trình bày đầu tiên và đặt nội dung của hộp văn bản đó thành "Xin chào ". Sau đó, ví dụ này sẽ thêm văn bản "thế giới!". Văn bản mới được thêm vào sẽ được in đậm, liên kết đến www.example.com
và có 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 kiểu. Vì vậy, 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
Bạn có thể áp dụng nhiều kiểu khác 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
.
Tạo kiểu đoạn
Kiểu đoạn văn áp dụng cho toàn bộ đoạn văn và bao gồm những nội dung như căn chỉnh văn bản và khoảng cách dòng. Hàm getParagraphStyle() trong TextRange
cung cấp một đối tượng ParagraphStyle
để tạo kiểu cho tất cả các đoạn văn bản trùng lặp với 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, sau đó căn giữa 3 đoạn văn đầu tiên.
Tạo kiểu cho danh sách
Tương tự như ParagraphStyle
, bạn có thể dùng ListStyle
để tạo kiểu cho tất cả các đoạn văn trùng với dải văn bản mẹ.
Ví dụ trên tạo một hộp văn bản trên trang trình bày đầu tiên, chứa 4 đoạn văn: đoạn văn thứ hai được thụt lề một lần và đoạn văn thứ ba được thụt lề hai lần. Sau đó, thao tác này sẽ áp dụng một giá trị đặt sẵn cho danh sách vào tất cả các đoạn văn. Cuối cùng, cấp độ lồng ghép của mỗi đoạn văn sẽ được ghi lại. (Cấp độ lồng ghép của đoạn văn đến từ số lượng thẻ trước văn bản của đoạn văn.) Vì vậy, tập lệnh ở trên sẽ 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