Cách tạo TextView dọc (xoay 90 ° hoặc -90 °) với hỗ trợ hình elip (có nghĩa là văn bản bị cắt bớt nếu không có đủ chỗ trong chế độ xem và "..." được thêm vào để cho biết cắt ngắn), có thể được định kích thước với dp
-values, wrap_content
và match_parent
?TextView dọc với Ellipsize và tất cả các tính năng TextView mặc định khác hỗ trợ
Tất cả các tùy chọn TextView khác cũng phải được tôn trọng.
Nó cũng không cần thêm bất kỳ mã nào để thực thi phép quay hoặc loại khác và phải hiển thị chính xác trong giao diện người dùng.
This solution hoạt động tuyệt vời, tuy nhiên, ghi đè onDraw()
kết quả trong hình elip và các tính năng khác không hoạt động nữa. Văn bản sẽ biến mất đơn giản nếu nó quá lớn để hiển thị, hoặc những điều kỳ lạ khác sẽ xảy ra.
Sau đây là xoay vòng ok, nhưng phép tính elip được tính toán dựa trên chiều rộng của khung nhìn, nó phải dựa trên chiều cao nếu được quay 90 °.
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.rotate(90, 0, getPaint().getTextSize() +5);
super.onDraw(canvas);
canvas.restore();
}
android:rotation
trên TextView không có giải pháp tốt vì định vị và kích thước không hoạt động bình thường.
Tùy chọn, Chế độ xem sẽ cho phép văn bản được xoay bất kỳ góc nào.
đã thử với một hình ảnh động ngay lập tức như đã giải thích ở đây: http://stackoverflow.com/a/8959448/775894? –
Tôi đã làm rõ ở trên. Không có mã bổ sung nào ngoài kiểm soát nên được sử dụng, nó cũng phải được hiển thị chính xác trong UI-Editor. – Marc