2011-09-27 3 views
34

Tôi hiện đang sử dụng giải pháp thay thế chính và có hai hoạt động chuyển đổi mỗi lần tôi thay đổi văn bản trên TextView. Tôi đang sử dụng mã này:Hoạt ảnh khi thay đổi chế độ xem văn bản

Weeklytext.this.overridePendingTransition( 
        R.anim.slide_in_left, 
        R.anim.slide_out_right 
      ); 

Có thể thực hiện việc này trong một Hoạt động không? Thật khó chịu khi có hai Hoạt động có cùng nội dung chính xác để tôi có thể sử dụng hoạt ảnh;)

Cảm ơn! Hãy hỏi nếu bạn không hiểu Câu hỏi của tôi!

Trả lời

66

Bạn có thể sử dụng TextSwitcher để có hoạt ảnh khi thay đổi văn bản trong TextView.

Trình soạn thảo văn bản chỉ là một loại đặc biệt là ViewSwitcher và như vậy, nó cho phép bạn cung cấp hai Chế độ xem để tạo hiệu ứng giữa các chế độ xem. Khi bạn gọi setText(), nó sẽ cập nhật văn bản của TextView tiếp theo và sau đó làm hoạt hình đó thành một TextView, và cái hiện tại. TextView cũ sau đó được chỉ định là TextView 'tiếp theo' và quá trình lặp lại.

Bạn có thể chỉ định Chế độ xem bằng cách sử dụng setFactory(...) hoặc chỉ cần thêm hai TextView vào nó với addView(...).

// get a TextSwitcher view; instantiate in code or resolve from a layout/XML 
TextSwitcher textSwitcher = new TextSwitcher(context); 

// specify the in/out animations you wish to use 
textSwitcher.setInAnimation(context, R.anim.slide_in_left); 
textSwitcher.setOutAnimation(context, R.anim.slide_out_right); 

// provide two TextViews for the TextSwitcher to use 
// you can apply styles to these Views before adding 
textSwitcher.addView(new TextView(context)); 
textSwitcher.addView(new TextView(context)); 

// you are now ready to use the TextSwitcher 
// it will animate between calls to setText 
textSwitcher.setText("hello"); 
... 
textSwitcher.setText("goodbye"); 
+0

Điều đó nghe giống như những gì tôi cần !! Tôi chỉ cần tìm ra cách sử dụng nó. – Lorof

+1

@Lorenz tôi đã thêm một số mã để giúp bạn ra ngoài :) – antonyt

+0

Tốt ví dụ ở đây: http://www.learn-android-easily.com/2013/06/android-textswitcher.html –