2010-08-18 27 views
15

Tôi đã tạo ứng dụng Android đầu tiên của mình.Cách đặt biểu tượng Android Live Wallpaper (còn gọi là "hình thu nhỏ")

Đây là hình nền động được thiết kế cho 2.2.

Khi tôi nhấn và giữ màn hình, chọn Wallpapers và sau đó chọn Live Wallpapers, hình nền động của tôi có biểu tượng mặc định có tên hình nền sống của tôi được phủ lên.

Làm cách nào để đặt biểu tượng này?

file manifest của tôi có một biểu tượng ứng dụng quy định như @drawable/icon

Cập nhật

Tôi nghĩ rằng tôi cần phải thêm một số thông tin cho câu hỏi này vì nó kém mô tả vấn đề của tôi (xin lỗi).

  1. Tôi có tất cả các biểu tượng res/drawable-[hml]dpi/. Tôi đặt tên cho tất cả là icon.png.
  2. file manifest của tôi chứa <application android:label="@string/app_name" android:icon="@drawable/icon">
  3. Tôi cũng đã cố gắng tạo ra một biểu tượng 48x48 trong res/drawable/ gọi icon.png.
  4. Tôi cũng đã cố gắng thêm biểu tượng rõ ràng trong các thẻ tệp kê khai khác nếu chúng được cho phép. ví dụ. dịch vụ, hoạt động, bộ lọc ý định (Rõ ràng là tôi không biết tệp kê khai này thực sự hoạt động như thế nào, vì vậy tôi đã thử mọi thứ)
  5. Trong Manage Applications, biểu tượng được hiển thị chính xác.
  6. Khi chọn Hình nền động, biểu tượng là không được hiển thị chính xác.
  7. mdpi icon là 48x48, ldpi icon là 36x36 và hdpi icon là 72x72

Trả lời

36

Để xem biểu tượng trong menu hình nền động, bạn cần đặt thuộc tính android:thumbnail cho các thẻ ứng dụng <Wallpaper>. Điều này thường sẽ được tìm thấy trong tệp XML tương ứng với lớp mở rộng WallpaperService.

Nhìn vào ứng dụng mẫu CubeLiveWallpaper được cung cấp cùng với SDK, chúng tôi thấy thẻ này được đặt trong tệp cube1.xml và cube2.xml. Một phiên bản sửa đổi dưới đây trình bày các thumb.png biểu tượng nằm ở res/drawable và cung cấp một mô tả định nghĩa trong strings.xml

<wallpaper 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:thumbnail="@drawable/thumb" 
    android:description="@string/description" 
    android:settingsActivity="com.example.android.livecubes.cube2.CubeWallpaper2Settings" 
/> 

LƯU Ý: Công việc này không phụ thuộc phần mở rộng tập tin, giả định rằng định dạng là một loại hỗ trợ - jpg. png etc

+0

Thú vị. Ví dụ về SDK của tôi không khớp với ví dụ của bạn. Tôi tự hỏi nếu tôi đã giết nó như tôi đã cố gắng để có được Eclipse làm việc - Tôi chọn ví dụ này chính xác để thử đầu tiên. Tôi cũng không có biểu tượng ngón tay cái. – philcolbourn

+0

Cảm ơn bạn. Tôi cần thuộc tính hình thu nhỏ và biểu tượng. Cảm ơn bạn. – philcolbourn

+0

(Bây giờ để tìm ra lý do tại sao nó FC!) – philcolbourn

0

Tạo biểu tượng của bạn và lưu nó trong res/drawable/icon.png. Bạn cũng có thể sử dụng icon.jpg, icon.gif hoặc icon.bmp.

+1

Cảm ơn Matt. Tôi có một icon.png trong res/drawable. – philcolbourn

0

bên trong thư mục res/drawables, bạn sẽ thấy icon.png. bạn thay đổi tệp này thành biểu tượng bạn muốn. hdpi dành cho các thiết bị có mật độ cao, chẳng hạn như nexus one hoặc evo. mdpi là cho các thiết bị như myTouch hoặc G1

+0

Tôi có biểu tượng ở dạng res/drawable có tên là icon.png. Điều này hoạt động khi ứng dụng được cài đặt, nhưng không phải khi người dùng chọn hình nền động. Nhưng bạn có gợi ý rằng tôi nên có các tệp icon.png có kích thước khác nhau trong thư mục res/drawable-Xdpi /? – philcolbourn

+0

Trên thực tế, tôi đã có các tệp biểu tượng có kích thước khác nhau tên icon.png trong các thư mục drawable- ldpi, mdpi và hdpi. – philcolbourn

1

Bạn cũng có thể thay đổi @ drawable/biểu tượng để @ drawable/<youricon>

+0

Biểu tượng mặc định hay android có sử dụng biểu tượng đầu tiên mà nó tìm thấy không? Biểu tượng – philcolbourn

+1

chỉ là tên của tệp trong res/drawable /. –

+0

Tôi vừa nhận ra SO không thích thẻ giả tùy chỉnh của tôi. Bạn có thể chỉ cần đặt tên cho nó bất cứ điều gì bạn muốn, và nó sẽ phù hợp với youricon với tên của drawable trong thư mục res/drwable. Nó bỏ qua các loại tập tin, do đó bạn không cần phải bao gồm một phần mở rộng trong xml – Falmarri

1

tôi đã thiết <application android:icon="@drawable/icon"/> trong AndroidManifest.xml của tôi và nó làm việc tốt cho mỗi tôi icon.png đang sử dụng trong số

/res/drawable-: == hdpi | ldpi | mdpi

thư mục.

0

Thông tin thêm về độ phân giải có thể được tìm thấy trong this thread.

Phần này đặc biệt:

... Độ phân giải sử dụng có vẻ là lớn hơn rất nhiều so với độ phân giải biểu tượng phóng , sử dụng 48 cho vừa hoặc 72 cho cao cho một hình ảnh rất mờ trên cả giả lập và các thiết bị thực, khiến tôi nghĩ rằng có là một số mở rộng đang diễn ra ...

0

Tệp .GIF hoạt ảnh không được hỗ trợ làm biểu tượng Trình chạy ứng dụng. Biểu tượng Gif sẽ không cung cấp cho bạn bất kỳ lỗi đánh giá nào nhưng hoạt ảnh sẽ không hoạt động.

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