2010-07-31 9 views
20

Co staram się zrobić, to widget zegara o różnych rozmiarach (np. 2x2, 3x3, 4x4 itd.) W jednym apk i aktywność konfiguracyjna, aby móc wybrać rozmiar do dodania.Jak umieścić wiele rozmiarów widżetów w jednym apk?

Z tego co ja nauczyłem się od dokumentacji:

  1. rozmiar Widget określonego w < appwidget-provider > tag w pliku xml
  2. odpowiedni
  3. również w tym pliku I utworzonej aktywność konfiguracyjny dla tego dostawcy

Wygląda na to, że rozmiar jest własnością AppWidgetProvider i muszę jakoś stworzyć innego dostawcę z kodu w konfiguracji Aktywność pierwszego ... Czy coś jest nie tak i czy istnieje inny sposób?

Czy to w ogóle możliwe? :) Powiedziano mi, że niektóre widgety mogą to zrobić :)

Z góry dziękuję!

P.S. Przeczytałem this i this. Pierwsza wyjaśnia, jak umieścić wiele wigetów w jednym pakiecie, ale nie jest jasne, jak wybierać między nimi w czasie wykonywania. Druga dotyczy zmiany układu, ale nie rozmiaru ...

+0

Pytanie dotyczy tylko jednego wpisu w menu Dodaj widget i odroczenia konfiguracji rozmiaru do własnej czynności konfiguracyjnej. Chciałbym wątpić, że istnieje sposób, aby to zrobić - AFAIK, Android musi znać rozmiar przed czasem konfiguracji. – jamesh

+0

Hmmm, jamesh, myślę, że właśnie odwróciłeś mój umysł! :) Czytając pierwszy powiązany odnośnik tego pytania, nie zdawałem sobie sprawy, że jeśli mi się spodoba, to będę miał wiele widżetów zainstalowanych z jednego apk, prawda? To rozwiązanie jest całkiem przystępne! – dimsuz

+0

Świetnie. Cieszę się, że mogę ci pomóc. – jamesh

Odpowiedz

3

Czy naprawdę masz to zrobić w środowisku wykonawczym ? Możliwe jest zdefiniowanie kilku widżetów w jednym pliku .apk.

Może możesz rzucić okiem na źródło transdroidów? Zawierają one dwa rozmiary widgetu w tym samym pakiecie.

AndroidManifest.xml wykorzystywane przez Transdroid

+0

tak, wydawało się to jedyną drogą do zrobienia, jak zauważył jamesh w komentarzu do nagłówka :) Podsumowując: brak rozwiązania oryginalnego problemu, ale to po prostu wydaje się niemożliwe :) – dimsuz

+0

http://code.google .com/p/transdroid/source/browse/trunk/AndroidManifest.xml nie znaleziono 404 Proszę podać treść do wykorzystania w odpowiedzi z tego linku – Pratik

+0

Dzięki za powiadomienie. Zaktualizowałem link do przykładu – Eloff

1

Mam nadzieję, że przeczytałem twoje pytanie poprawnie i myślę, że mam twoją odpowiedź. Mógłbym przepisać te informacje lub po prostu wskazać ci (tak jakbym prawdopodobnie nie był w stanie tego zrobić).

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

poszukaj w "Tworzenie konfiguracji Widget App Activity". Przykład jest również dobry.

Robiąc to w ten sposób, że nie może być w stanie ustawić pewną rozmiary układu bez dużo edycji, ale pozwoli na dostosowanie przez użytkownika (czyli to, co chcesz prawidłowa?)

+1

Tak, jestem świadomy aktywności konfiguracyjnej. Ale szukam sposobu na zmianę rozmiaru widżetu z tej aktywności, która wygląda na niemożliwa, w końcu ... Zgaduję, że powinienem teraz anulować to pytanie :) Dzięki! – dimsuz

0

Mam ten sam problem i miał nadzieję znaleźć sposób, aby dodać tylko jeden wpis do listy Widget, i mają aktywność konfiguracja decyduje o wielkości, ale zdaję sobie sprawę, to nie jest możliwy.

Myśląc o tym, jest to sprawiedliwe: jeśli program miałby prawo do ustawienia rozmiaru widżetu w czasie wykonywania, można złośliwie zwiększyć widget po dodaniu do programu uruchamiającego i zająć więcej nieruchomości niż było to dozwolone .

Tak jak wspomniano powyżej, rozwiązaniem jest dodanie wielu dostawców widgetów i pozwolić użytkownikowi wybrać żądany rozmiar. Można nawet użyć tej samej czynności konfiguracyjnej, jeśli opcje nie są powiązane ze stylem, ale tylko z kolorami lub odświeżają cyklicznie.

Powiązane problemy