2012-01-09 25 views
5

Tôi đang xây dựng và ứng dụng Android cần thực hiện các bước như trình hướng dẫn.Android - đúng cách để triển khai thuật sĩ với hoạt ảnh giữa các bước

cấu trúc hiện tại:

Tại thời điểm tôi đang sử dụng một hoạt động với views.xml riêng biệt cho mỗi bước, sau đó tôi đang sử dụng setContentView(activeStep) để hiển thị các bước tích cực.

Tôi gặp phải một số khó khăn khi cố gắng tạo hoạt ảnh giữa các bước. Tôi sử dụng đoạn mã sau:

LayoutInflater inflater = getLayoutInflater(); 
View view = inflater.inflate(activeStep, null, false); 
view.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.slide_in)); 
setContentView(view); 

Kết quả: quan điểm đầu tiên đã ra đi và mới một phim hoạt hình, không phải là một chuyển đổi suôn sẻ.

Mục tiêu của tôi là để animate cả quan điểm, một trượt ra bên kia trong

Câu hỏi:. Có thể làm điều đó với cấu trúc hiện tại của tôi (nhắc nhở: một hoạt động, nhiều lượt xem) hay nên tôi đối xử với nhau bước như một hoạt động riêng biệt?

+1

Bạn có nghĩ đến việc sử dụng ViewSwitcher thay thế không? http://www.youtube.com/watch?v=mGwG8-chUEM để xem nó và http://www.ctctlabs.com/index.php/blog/detail/android_dont_overlook_viewswitcher/ để được trợ giúp – TryTryAgain

+0

Cảm ơn bạn đã trả lời, tôi sẽ cố gắng và cho bạn biết –

Trả lời

3

Tôi đoán có hơn một cách để thực hiện tiến bước với hình ảnh động, đây là cách tôi đã làm nó:

private static ViewAnimator viewAnimator; 

public void onCreate(Bundle savedInstanceState) { 
     viewAnimator = new ViewAnimator(this); 
     View step1 = View.inflate(activity, R.layout.step_1, null); 
     View step2 = View.inflate(activity, R.layout.step_2, null); 
     View step3 = View.inflate(activity, R.layout.step_3, null); 
     viewAnimator.addView(step1); 
     viewAnimator.addView(step2); 
     viewAnimator.addView(step3); 
     viewAnimator.setInAnimation(activity, R.anim.slide_in); 
     viewAnimator.setOutAnimation(activity, R.anim.slide_out); 
     setContentView(viewAnimator); 
    } 

sau đó nhấp chuột vào một nút tôi gọi viewAnimator.showNext()viewAnimator.showPrevious() ViewSwitcher là không tốt cho mục đích của tôi , bởi vì nó chỉ có thể giữ 2 lượt xem tại một thời điểm

0

Có lẽ tốt nhất nên sử dụng một Activity và một vài cấu trúc khác nhau View nếu mỗi bước trong quy trình có liên quan.

Bạn có thể không nên sử dụng setContentView để thay đổi chế độ xem với từng bước. Thay vào đó, có thể hide hoặc unhide từng mục hoặc di chuyển nó ra khỏi màn hình.

+0

Tôi nghĩ rằng tôi sẽ đi với ý tưởng ViewSwitcher, nhưng cảm ơn bạn đã trả lời –

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