ActionBar benutzen ohne App-Umbau

  • 3 Antworten
  • Letztes Antwortdatum
B

binneuhier

Fortgeschrittenes Mitglied
10
Hi,

ich habe eine App für 2.x geschrieben und möchte sie an 4.x anpassen ohne groß Umbauen zu müssen.
(minsdk: 8 , target: 16)

Meine App hat eigentlich nur eine Liste.
Dazu hat jedes Listitem einen Long-Click listener (contextMenu).
Auch der Menüknopf zeigt ein Menü.

jetzt habe ich das einfach mal im 4.x Emulator laufen gelassen und dort sieht man auch eine Actiobar.

Meine Beobachtungen sind jetzt folgende:
- 2.3 Emu: Menüknopf zeigt Menü -> OK
- 4.x Emu mit Hardwaretasten: Menüknopf zeigt Menü von "unten" und die Actionbar hält kein OverflowIcon und auch nicht das OverflowMenü
- 4.x Emu ohne Hardwaretasten: OverflowIcon in ActionBar vorhanden und zeigt OverflowMenü -> OK

Kann man bei Handys mit 4.X und Hardwaretasten das Overflowmenü erzwingen? (von google wird ja recommendet die Actionbar für Menüs zu verwenden und nicht das Menü, welches von "unten" reinkommt) (ein Knopfdruck auf die Menütaste soll das OVerflowMenü öffnen)

Contextmenü:
- 2.3 Emu: LongClick zeigt Contextdialog -> OK
- 4.x Emu: LongClick zeigt Contextdialog -> nicht OK

So wie ich das verstanden habe will google, das man beim longclick kein contextmenü zeigt, sondern mittels ActionMode die Actionbar verändert.

Wie macht man das am besten ohne viel anpasungen? Ist das überhaupt möglich? Jeder Spielerei die ich mit den Actionmodes hatte laufen nicht, da mein minSdk nicht langt? Heißt das eine 100% anpassung an 4.x ist so garnicht möglich?

und jetzt habe ich noch ein 3. Problem ;) :
Meine Liste hällt immer ein 0.-Item (Listeneintrag hinzufügen). Dieses Item ist immer vorhanden egal, was in der Liste steht. Das habe ich deshalb gemacht, weil man diese Funktion so oft braucht, das der Umweg über das Menü zu groß ist. Unter 4.X brauche ich das aber nichtmehr, da ich das ja in die Actionbar stecken kann.
- Kann ich Icons in die ActionBar packen ohne das ein 2.X handy damit Probleme hat?
- kann ich meine Liste abhängig von der API Version das erste Element zeigen lassen oder nicht?

ich hoffe man kann verstehen was ich will ;)

letztentlich möchte ich die Actionbar einsetzten, genau wie sich google das vorstellt jedoch ohne groß an meine App ranzumüssen.
Ist das überhaupt möglich?
 
Ich würde dir vorschlagen, dass du dich mit ActionBarSherlock außeinander setzt. Das ist ein Library-Projekt, was dir die ActionBar auch auf Geräte mit Android < 4 bringt. Dann kannst du eine App-Logik auf allen Plattformen verfolgen und es sieht (nahezu) identisch aus.
 
TheNephilim schrieb:
Ich würde dir vorschlagen, dass du dich mit ActionBarSherlock außeinander setzt. Das ist ein Library-Projekt, was dir die ActionBar auch auf Geräte mit Android < 4 bringt. Dann kannst du eine App-Logik auf allen Plattformen verfolgen und es sieht (nahezu) identisch aus.

hmm das würde aber vorraussezten das ich meine App umbauen muss, vorallem da sie ja für 2.x schon fertig ist udn ich dort keine ActionBar benötige.

naja ein einheitliches Design über alle Plattformen wäre wohl aber auch nicht schlecht.

danke für den Tip!
 
Du kommst nicht drum rum iwas an der App zu ändern.
Das geht nicht "einfach so" ...

Was du aber noch machen könntest, dass du eine Version mit minSDK 5 und maxSDK 8 (eine VOR Honeycomp) machst.
Dann machst du noch eine weitere verison die minSDK 9 und maxSDK 16 hat..

Dann haste ja quasi 2x das selbe. Die zweite könnte aber schon di features von honeycomp.

MfG Ice

P.s.: Im Android-Training auf d.android.com findest du infos, wie du die beiden dann über einen Namen im Store vermarktest...
 
Zurück
Oben Unten