2010-07-31 3 views
20

Điều tôi đang cố làm là có tiện ích con đồng hồ có kích thước khác nhau (ví dụ: 2x2, 3x3, 4x4, v.v.) trong một gói ứng dụng và hoạt động cấu hình để có thể chọn kích thước cần thêm.Làm cách nào để đặt nhiều kích thước tiện ích trong một gói ứng dụng?

Từ những gì tôi đã học được từ tài liệu:

  1. kích thước Widget được quy định tại < appwidget-nhà cung cấp > thẻ trong file xml tương ứng
  2. Cũng trong tập tin đó tôi thiết lập các hoạt động cấu hình cho nhà cung cấp mà

Vì vậy, có vẻ như kích thước đó là tài sản của AppWidgetProvider và tôi sẽ cần bằng cách nào đó tạo nhà cung cấp khác từ mã trong cấu hình Hoạt động của nhà cung cấp đầu tiên ... Hoặc tôi có hiểu sai và có cách nào khác không?

Điều này có thể thực hiện được không? :) Tôi đã được thông báo rằng một số tiện ích có thể thực hiện việc này :)

Cảm ơn bạn trước!

P.S. Tôi đã đọc thisthis. Đầu tiên giải thích làm thế nào để đặt nhiều bộ tóc giả trong một apk, nhưng nó không rõ ràng làm thế nào để lựa chọn giữa chúng trong thời gian chạy. Thứ hai là về việc thay đổi bố cục, nhưng không phải là kích thước ...

+0

Câu hỏi đặt ra là chỉ có một mục nhập trong menu Thêm tiện ích con và trì hoãn cấu hình kích thước cho hoạt động cấu hình của riêng bạn. Tôi nghi ngờ có một cách để làm điều này - AFAIK, Android cần phải biết kích thước trước thời hạn cấu hình. – jamesh

+0

Hmmm, jamesh, tôi nghĩ bạn vừa quay đầu lại! :) Trong khi đọc liên kết đầu tiên có liên quan của câu hỏi này tôi đã không nhận ra rằng nếu tôi làm như nó được mô tả ở đó, tôi sẽ có nhiều widget được cài đặt từ một apk, phải không? Giải pháp này là khá accepatable! – dimsuz

+0

Tuyệt. Rât vui long khi giup đơ. – jamesh

Trả lời

3

Bạn có thực sự có để thực hiện điều này tại thời gian chạy là ? Có thể xác định một số tiện ích trong một .apk.

Có thể bạn có thể xem xét nguồn transdroid? Chúng bao gồm hai kích thước của một widget trong cùng một gói.

AndroidManifest.xml sử dụng bởi Transdroid

+0

vâng, điều này có vẻ như là cách duy nhất để đi, như jamesh đã lưu ý trong một bài viết đầu :) Tóm lại: không có giải pháp cho vấn đề ban đầu, nhưng nó dường như không thể :) – dimsuz

+0

http://code.google .com/p/transdroid/source/browse/trunk/AndroidManifest.xml không tìm thấy 404, vui lòng cung cấp một số nội dung sử dụng trong câu trả lời từ liên kết – Pratik

+0

Cảm ơn bạn đã thông báo. Tôi đã cập nhật liên kết đến ví dụ – Eloff

1

Tôi hy vọng tôi đã đọc câu hỏi của bạn đúng và nghĩ rằng tôi có câu trả lời của bạn. Tôi có thể viết lại thông tin này hoặc chỉ cho bạn biết thông tin đó (vì tôi có nhiều khả năng không thể làm được điều đó).

http://developer.android.com/guide/topics/appwidgets/index.html#Manifest

Xem bên dưới "Tạo hoạt động cấu hình tiện ích ứng dụng". Ví dụ là tốt.

Bằng cách làm nó theo cách này bạn có thể không có khả năng thiết lập một kích thước bố trí nhất định mà không có nhiều chỉnh sửa nhưng sẽ cho phép tùy biến bởi người dùng (đó là những gì bạn muốn có đúng không?)

+1

Có, tôi biết về hoạt động cấu hình. Nhưng tôi đang tìm cách thay đổi kích thước tiện ích con từ hoạt động đó trông giống như không thể, sau khi tất cả ... Vì vậy, tôi đoán giờ tôi nên hủy câu hỏi này :) Cảm ơn! – dimsuz

0

Tôi có cùng một vấn đề và đã hy vọng để tìm thấy một cách để thêm chỉ một mục duy nhất vào danh sách Widget, và có hoạt động cấu hình quyết định kích thước, nhưng tôi nhận ra điều này không phải là khả thi. Khi nghĩ về điều đó, nó chỉ công bằng: nếu chương trình có quyền thiết lập kích thước của tiện ích khi chạy, người ta sẽ tăng tiện ích một cách độc hại khi được thêm vào trình khởi chạy và chiếm nhiều bất động sản hơn so với khi được ủy quyền .

Vì vậy, như đã đề cập ở trên, giải pháp là thêm nhiều nhà cung cấp tiện ích và cho phép người dùng chọn kích thước mình muốn. Bạn thậm chí có thể sử dụng cùng một Hoạt động cấu hình nếu các tùy chọn không liên quan đến kiểu dáng mà chỉ có màu sắc hoặc thời gian làm mới.