Tôi muốn tạo thành văn bản spark di động thành phần bọc tất cả nội dung của mình. Tôi phát hiện ra cách thức mx_internal làm điều này nhưng tôi không thể gọi mx_internal :: getTextField() numLines phương pháp - không có như vậy ... Bất kỳ ai đã làm điều này trước đây?Tự động hóa thành phần văn bản spark Mobile spark
Trả lời
Dưới đây là một giải pháp dành cho di động:
for(var i:int=0; i < StyleableTextField(txt_genel.textDisplay).numLines; i++) {
ta_height += StyleableTextField(txt_genel.textDisplay).getLineMetrics(i).height;
}
txt_genel.height = ta_height;
Đây là giải pháp có ít lớp TextArea tùy chỉnh, có ý kiến để giải thích thêm một chút.
package
{
import mx.events.FlexEvent;
import spark.components.TextArea;
import spark.components.supportClasses.StyleableStageText;
import spark.events.TextOperationEvent;
public class CustomTextArea extends TextArea
{
private var _lineNumber:int = 1;
private var _padding:int;
private var _minHeight:int;
public function CustomTextArea()
{
super();
addEventListener(FlexEvent.CREATION_COMPLETE, function setBehaviour(event:FlexEvent):void
{
//minHeight to prevent textarea to be too small
_minHeight = height;
//padding between textarea and text component inside to calculate line number
_padding = ((textDisplay as StyleableStageText).x - x) + (width - (textDisplay as StyleableStageText).width);
//listener for text changing
addEventListener(TextOperationEvent.CHANGE, setHeight);
});
}
private function setHeight(event:TextOperationEvent):void
{
//line number is textwidth divided by component width
_lineNumber = (((textDisplay as StyleableStageText).measureText(text).width + _lineNumber * _padding)/width) + 1;
//text height is line number * text height
var newHeight:int = _lineNumber * (textDisplay as StyleableStageText).measureText(text).height;
//if new height > min height, set height
if (newHeight > _minHeight)
height = newHeight;
}
}
}
Hy vọng điều này sẽ hữu ích.
EDIT: Với một số lượng lớn các dòng, chiều cao của TextArea tăng quá nhiều. Nên được quản lý.
nó ném một ngoại lệ tại dòng _padding = ((textDisplay as StyleableStageText) .x - x) + (width - (textDisplay as StyleableStageText) .width); ngoại lệ là: "Không thể truy cập thuộc tính hoặc phương thức của tham chiếu đối tượng null". –
Đây là cách tôi sử dụng nó trong mxml:
Và một kịch bản hành động mà tôi gán một văn bản với nó: StyleableTextField (txt_genel.textDisplay). htmlText = ozet ['genelbilgiler'] dưới dạng Chuỗi; –
- 1. Để Spark hoặc không Spark?
- 2. hỗ trợ gzip trong Spark
- 3. Di chuyển đến mục đã chọn trong thành phần Danh sách Spark 4
- 4. Bảng điều khiển thành phần Flex 4 Spark - Ẩn thanh tiêu đề
- 5. Spark-View-Engine với ASP.NET MVC2
- 6. Thay đổi vòng đời Spark giữa Flex 4.5 và 4.6
- 7. Nhận xét HTML trong công cụ xem Spark
- 8. Làm thế nào để ngừng mã hóa Spark View Engine HTML?
- 9. Sử dụng Spark View Engine trong ứng dụng độc lập
- 10. Google OAuth2 không hoạt động trên máy chủ phát triển cục bộ - PHP Codeigniter spark
- 11. jQuery Mobile - Tự động tạo các phần tử biểu mẫu
- 12. WPF: Hộp văn bản tự động hoàn thành, ... lại
- 13. Hiệu suất của Spark View Engine so với ASP.NET như thế nào?
- 14. nhiều từ Văn bản tiên đoán/tự động hoàn thành?
- 15. Hộp văn bản Google Suggestish (tự động hoàn thành)
- 16. Hộp văn bản tự động hoàn thành trong WPF
- 17. Văn bản tự động hoàn thành trong android?
- 18. Không thể sử dụng Html.ActionLink trong các tệp asp.net mvc spark
- 19. Dịch văn bản tự động
- 20. Hộp văn bản HTML, văn bản tô sáng tự động
- 21. So sánh CQL của Cassandra với các truy vấn Spark/Shark vs Hive/Hadoop (phiên bản DSE)
- 22. Spark View Engine Nếu câu lệnh được áp dụng cho các thuộc tính
- 23. Những nhược điểm khi sử dụng Spark trên Halo trong Flex là gì?
- 24. Phân tích Hadoop nhanh (Cloudera Impala vs Spark/Shark vs Apache Drill)
- 25. Thỏa thuận với Halo và Spark trong Flex 4 là gì?
- 26. jQuery Mobile và các dòng văn bản
- 27. Tự động hóa kiểm thử phần mềm - Luận văn Thạc sĩ
- 28. Tự động hóa UILabel
- 29. UILabel - tự động hóa
- 30. Tự động hóa/kịch bản Telnet
Nếu bạn tìm thấy một cách để làm điều đó; nhưng nó không hoạt động Tôi nghĩ bạn sẽ phải chia sẻ một số mã để chúng tôi có thể chẩn đoán tại sao nó không hoạt động. – JeffryHouser
Tôi đã cố gắng chỉ định heightInLine = {NaN} - hoạt động trong các phiên bản trước nhưng không hoạt động trong 4.6. Và một cách khác mà tôi đã thử là tạo ra làn da mới mà không cần cuộn nhưng IDE đã cho tôi một lỗi mà nó không thể tìm thấy cuộn trong định nghĩa. Vì vậy, tôi yêu cầu cho bất kỳ đề nghị khác? –
Đó có thể là do 4.6 sử dụng StageText thay vì Flash TextField. Trong 4.6 nếu bạn trở lại giao diện cũ, tôi đặt cược nó sẽ hoạt động. Tôi không có thời gian để tìm kiếm các tên da cụ thể, nhưng tôi nghĩ rằng tôi đã viết về nó trên Blog Flextras gần đây. – JeffryHouser