2013-06-17 35 views
5

PanoramicbackgroundPanoramic hoạt hình nền trong Android

Tôi có một nền toàn cảnh như một bầu trời mà tôi muốn di chuyển từ trái sang phải và sau đó từ phải sang trái để mô phỏng một đám mây hoạt hình di chuyển như một nền màn hình.

này nên lặp lại vô thời hạn và sau khi goin sang bên phải sau đó hầu hết trở về nhất trái ..

Tôi đã thử những điều sau đây:

Animation left = AnimationUtils.loadAnimation(MainActivity.this, com.icare.kids.R.anim.view_transition_out_right); 
    left.setRepeatCount(Animation.INFINITE); 
    left.setRepeatMode(Animation.REVERSE); 
    left.setDuration(3000); 

    findViewById(id.cloud).startAnimation(left); 

Nhưng điều này dường như không làm việc .. bất kỳ giải pháp cho điều đó?

Tôi hiện đang thiết lập các hình ảnh đến một ImageView như sau:

<ImageView 
    android:id="@+id/cloud" 
    android:layout_width="3000dip" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/topbar" 
    android:scaleType="matrix" 
    android:src="@drawable/bgpan" /> 

làm thế nào tôi có thể thiết lập các hình ảnh vào màn hình để bắt đầu từ bên trái nhất như thế này bên dưới, vì vậy để giúp đỡ trong các hiệu ứng toàn cảnh hoạt hình : enter image description here

+1

Tại sao không di chuyển Bitmap thay vì độ xem văn bản? Ý tôi là, nếu bạn có nền (3000px) được nạp vào bộ nhớ, bạn thực sự lãng phí rất nhiều bộ nhớ, thậm chí không hiển thị được… bạn chỉ nên cắt một phần của bitmap trong mỗi khung hình của hoạt ảnh, sau đó lấy x + OFFSET và vv, mỗi khung phải kiểm tra giới hạn để xem bạn có phải bắt đầu lại từ bên trái không… –

+1

Stackoverflow có một số câu trả lời liên quan, xem: http://stackoverflow.com/a/17275163/2684 –

Trả lời

3

giải pháp tốt nhất đó là hiệu quả và nhanh chóng trên tất cả các dãy điện thoại là để thực sự chỉ động những đám mây trong khi vẫn giữ nền tĩnh. bạn cũng có thể thêm một số biến cho tốc độ có thể thêm một số ngẫu nhiên vào tốc độ của các đám mây để bạn không nhận được một vòng lặp đơn điệu.

chi tiết thi hành và giải pháp được lấy từ this answer

0

Một điều bạn có thể thử là sử dụng đối tượng Viewpager với thao tác kéo giả, nơi bạn liên tục thêm lại nền vào chế độ xem mới được tạo trong khi tắt đầu vào của người dùng.

Điều này sẽ tạo ra ảo giác về những gì bạn đang cố gắng làm. Vì vậy, giả sử bạn có 4 chế độ xem trong bộ điều hợp, mỗi chế độ xem chỉ chứa một trong các nội dung hình ảnh lấp đầy toàn bộ màn hình và các kéo kéo giả của Viewpager từ Chế độ xem A sang Chế độ xem B, vẽ Chế độ xem C và vẽ Chế độ xem D, sau đó nó kéo giả từ Xem B để xem C và rút Xem A một lần nữa

tôi tò mò nếu điều đó sẽ làm việc cho bạn

+0

mmmm ý tưởng hay là tôi nên có một mẹo hoạt hình đơn giản để thực hiện trên ImageView mà không kiện Viewpager .. nhưng tôi sẽ xem xét người xem nếu đây là tùy chọn cuối cùng của tôi nhờ đề xuất –

+0

bạn nói đúng, phải có @ Nader, nhưng tôi đã có rất nhiều vấn đề với các lớp hoạt hình – CQM

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