2010-07-10 26 views
8

Tôi đang phát triển một Ứng dụng Android có ba Hoạt động rất giống nhau. Tôi muốn người dùng có thể chuyển đổi giữa chúng bằng cách vuốt sang trái và sang phải trên màn hình. Đây là cách tôi quản lý mà cho đến giờ:Android: Cách chuyển đổi giữa các hoạt động như chuyển đổi máy tính để bàn trong ứng dụng Home?

Tôi đi theo này post

Sau đó, tôi đã thay đổi onSwipe() phương pháp theo cách này:

@Override 
public void onSwipe(int direction) { 
    Intent intent = new Intent(); 

    switch (direction) { 

    case SimpleGestureFilter.SWIPE_RIGHT: 
    intent.setClass(this, TodoTodaySheet.class); 
    break; 
    case SimpleGestureFilter.SWIPE_LEFT: 
    intent.setClass(this, TrashSheet.class); 
    break; 

    } 
    startActivity(intent); 
} 

Nó hoạt động nhưng tôi không hoàn toàn hài lòng với điều này. Hơn nữa, tôi không biết đây có phải là cách tiếp cận đúng hay không.

Tôi muốn có một hành vi như ứng dụng trên ứng dụng Trang chủ khi chuyển đổi máy tính để bàn. Vì vậy, tôi muốn một hình động mượt mà hơn và sự xuất hiện của hoạt động được gọi từ đúng hướng, ví dụ như. từ phía bên trái của màn hình khi vuốt sang phải.

Bất kỳ gợi ý nào? Cảm ơn nhiều.

+0

Mẹo này không dành cho việc vuốt giữa các Hoạt động (Tôi muốn tự mình làm điều đó nhưng chưa tìm được cách nào để thực hiện), nhưng việc chuyển đổi giữa các Chế độ xem được thực hiện tốt nhất với điều này: ViewFlow https://github.com/ pakerfeldt/android-viewflow – Ted

+0

@dgraziotin mà cách tiếp cận bạn sử dụng cuối cùng để trượt qua các hoạt động khác nhau? – juned

Trả lời

4

Màn hình nhà không di chuyển giữa các hoạt động nó chỉ cuộn giữa các quan điểm khác nhau như bạn có thể nhìn thấy trong its' source code (dòng 298 là nơi mà các màn hình là đã thay đổi).

Nếu bạn đang chuyển đổi giữa các hoạt động bạn đang ở lòng thương xót của cấu hình người dùng & khả năng của thiết bị như những gì xảy ra với màn hình trong quá trình chuyển đổi, vì vậy bạn không thể làm được gì nhiều.

+0

Do đó cách duy nhất để đạt được điều này là sử dụng ViewFlipper như Faisal gợi ý, hoặc để có một TabView và một số cử chỉ để chuyển đổi giữa các hoạt động, như ứng dụng Tin tức. – dgraziotin

+0

Sử dụng ViewFlipper sẽ giới hạn bạn sử dụng một Hoạt động đơn lẻ có tác động đến cách hệ điều hành quản lý ứng dụng của bạn (ví dụ: Hệ điều hành bị bỏ sót với tất cả hoặc không có lựa chọn nào khi làm sạch tài nguyên). –

1

Mặc dù có lẽ tốt nhất là có ba hoạt động riêng biệt, tôi đã thấy mọi người sử dụng ViewFlipper để đạt được hiệu ứng tương tự trong một Hoạt động.

Dưới đây là một liên kết với nhiều hơn một chút thông tin về nó: http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html

+0

Cảm ơn vì điều này. Tôi muốn tránh cách tiếp cận này, vì ba hoạt động (đó là listactivities) là tương tự nhưng làm một nhiệm vụ khá nặng (lấy những thứ từ cơ sở dữ liệu vv) – dgraziotin

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