2012-06-14 36 views
9

Tôi có EditText, thường hiển thị song song với trục X của màn hình. Tôi muốn hiển thị nó một cách xiên (khoảng 45 độ đến trục ngang). Có thể thực hiện điều này trong Android hay không. Hãy hướng dẫn tôi theo một hướng để tôi có thể thử nó.Hiển thị edittext obliquely trong android

Sau khi nhận được hai liên kết trong câu trả lời của pawelzeiba, tôi tiến hành một chút trong việc giải quyết điều này, nhưng bị mắc kẹt một lần nữa vì vậy tôi đặt một câu hỏi về điều này. đây là số link.

Như Gunnar Karisson nói, có một phương pháp setRotation() trong Xem lớp giới thiệu trong Android 3.0, nhưng tôi không thể sử dụng nó như là ứng dụng của tôi nên làm việc fro Android phiên bản 2.1.

Vì vậy, hãy giúp tôi giải quyết vấn đề này.

Trả lời

1

Sau một thời gian dài R & D, tôi thành công để giải quyết vấn đề này bằng cách tạo ra edittext tùy chỉnh của riêng tôi, hoạt động hoàn hảo theo yêu cầu của tôi.

public class CustomEditText extends EditText { 

private Animation rotateAnim; 
public CustomEditText(Context context) { 
     super(context); 
} 

public CustomEditText(Context context, AttributeSet attrs){ 
    super(context, attrs); 
} 

private void createAnim(Canvas canvas) { 
     rotateAnim = new RotateAnimation(0, -45, 250, 50); 
     rotateAnim.setRepeatCount(Animation.INFINITE); 
     startAnimation(rotateAnim); 
} 

@Override 
protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 
     // creates the animation the first time 
     if (rotateAnim == null) { 
       createAnim(canvas); 
     } 

} 
} 
3

EditText là một lớp con gián tiếp của View trong đó có một lĩnh vực luân chuyển, bạn có thể thiết lập với setRotation(float):

myEditText.setRotation (45.0f).

+0

Gunnar, tôi không thể sử dụng phương pháp này vì ứng dụng của tôi sẽ chạy từ phiên bản Android 2.1 trở đi. Vì vậy, tôi cần một số giải pháp có thể hoạt động trên phiên bản Android 2.1. Xem câu hỏi đã chỉnh sửa của tôi. –

0

Nếu phương pháp setRotation() không có sẵn cho cấp API bạn đang làm việc, thì tốt nhất bạn nên tạo lớp con View và thực hiện phương thức setRotation().

+0

Đó là những gì tôi hỏi, tôi đã thực hiện nhưng phải đối mặt với một số vấn đề trong trường hợp đó. Vui lòng xem liên kết được đưa ra trong câu hỏi. –

Các vấn đề liên quan