2011-08-16 30 views
8

Tôi muốn tạo bộ đếm cuộn với tốc độ tôi đưa cho ứng dụng Android, tôi cảm thấy không có tiện ích Android nào thực hiện tốt trong SDK và tôi muốn một số ý tưởng về cách thực hiện điều này hoặc thậm chí tốt hơn một dự án nguồn mở xung quanh ý tưởng này.Phương pháp tạo bộ đếm số trong Android là gì?

Hình dụ: Scrolling Counter

+1

+1 Tôi cũng quan tâm đến loại tiện ích này. – pkk

+0

Vì vậy, bạn muốn nó có hoạt ảnh dạng lỏng, làm mờ và hiển thị một nửa số, giống như trong ví dụ hình ảnh của bạn? –

+0

Đó sẽ là trường hợp tốt nhất, mặc dù tôi đang học một số công cụ này vì vậy tôi sẽ chấp nhận bất cứ điều gì cơ bản hơn –

Trả lời

1

Tôi khá chắc chắn rằng truy cập đặc biệt này trong ảnh chụp màn hình của bạn có một số hình ảnh động ngắn (khoảng 5 hoặc 10 khung hình) cho mỗi sự chuyển tiếp từ một số tiếp theo. Có lẽ cũng có một số khác để hiển thị chuyển tiếp nhanh chóng mà không thực sự dừng lại ở một số cụ thể với nhiều mờ hơn.

Vì vậy, nhiệm vụ chính sẽ là tạo đồ họa. Sau đó, nó chỉ là vấn đề hiển thị khung bên phải vào đúng thời điểm.

+0

Đây là một khởi đầu tuyệt vời nhưng tôi không hề quen thuộc khi làm việc với đồ họa hoặc hình ảnh động. –

5

Đây có thể không phải là câu trả lời hoàn hảo, nhưng ít nhất là điểm bắt đầu. Giảm giá các hoạt ảnh và fanciness chung, bạn có thể nhận được hầu hết các cách có chỉ bằng cách trang trí một TextView với một số XML ưa thích. Tôi sẽ chia sẻ những gì tôi đã làm một vài năm trước đây để thực hiện một khu vực màn hình tương tự cho một máy tính tip:

Đây là XML. Mỗi chữ số duy nhất là một TextView để bạn có thể thay đổi chúng riêng lẻ. Tôi đang hiển thị hai ở đây nhưng rõ ràng là có 5 cho ảnh chụp màn hình dưới đây.

<TextView 
    android:id="@+id/tv1" 
    android:layout_width="60dip" 
    android:layout_height="140dip" 
    android:background="@drawable/gradient" 
    android:textSize="64sp" 
    android:gravity="center" 
    android:typeface="serif" 
    android:textColor="#FFFFFF" 
/> 
<TextView 
    android:id="@+id/tv2" 
    android:layout_width="60dip" 
    android:layout_height="140dip" 
    android:background="@drawable/gradient" 
    android:textSize="64sp" 
    android:gravity="center" 
    android:typeface="serif" 
    android:textColor="#FFFFFF" 
/> 

Và "drawable/gradient" Tôi tạo ra như là một file drawable riêng biệt:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<stroke android:width="1dip" 
     android:color="#fbbb" 
/> 
<solid android:color="#600000"/> 
<layout_margin android:layout_margin="1dip"/> 
<gradient 
    android:startColor="#000000" 
    android:centerColor="#6D6D6D" 
    android:endColor="#000000" 
    android:angle="270" 
/> 

Dưới đây là kết quả cuối cùng (bên trong một LinearLayout):

Number Counter

+0

Điều này thật tuyệt vời. Trên đầu trang của thấy nếu tôi có thể animate thay đổi để xem văn bản nó có thể là hoàn hảo cho nhu cầu của tôi. –

+0

Rất vui khi được nghe. Trong triển khai của tôi, người dùng có thể nhấn vào phần trên cùng hoặc dưới cùng của mỗi TextView để thay đổi số lên hoặc xuống, vì vậy tôi không cần hoạt ảnh. Nếu bạn cần chúng, tôi không chắc liệu TextView có còn là con đường để đi hay không. –

+0

Tôi đang làm động tác tăng lượt truy cập ở tốc độ mà người dùng sẽ có hiệu lực, nhưng đây thực sự là một khởi đầu tốt.Các hình ảnh động là cần thiết vì nó trông sạch hơn rất nhiều sau đó chỉ cần làm mới các con số. –

2

Ngoài câu trả lời của raggedToad: Bạn có thể sử dụng số ViewAnimator lớp để thêm hoạt ảnh vào bộ đếm của bạn. Dễ sử dụng. Bạn có thể mở rộng nó, thêm tất cả các bản xem trước chữ số trong onCreate(). Thực hiện phương thức increment xử lý thao tác tăng. Chỉ cần gọi showNext để lật sang chế độ xem tiếp theo.

+0

Cảm ơn bạn đã thêm điều đó. Bây giờ tôi có thể thử nó trên chiếc đồng hồ cũ của tôi! :) –

+0

Vì vậy, tôi có thể tạo một dải số trong một hình ảnh, chỉ hiển thị một phần của hình ảnh trên màn hình và làm sống động phần hiển thị di chuyển, sau đó lặp lại hình ảnh khi nó kết thúc? –

1

Có một dự án mã nguồn mở thực hiện điều chính xác mà bạn đang cố gắng thực hiện. Kiểm tra: http://code.google.com/p/android-wheel/

+0

Điều này có vẻ khá tốt, tôi sẽ không sử dụng nó như một bộ chọn nhưng tôi nên nhìn vào làm cho đôi chân này nhu cầu của tôi –

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