Menü in Layout

  • 12 Antworten
  • Neuester Beitrag
Diskutiere Menü in Layout im Android App Entwicklung im Bereich Betriebssysteme & Apps.
I

{I-love-Android}

Ambitioniertes Mitglied
Hallo Leute,
Ich bin momentan dabei eine App für Schüler oder Studenten ( wo man seine Noten eintragen kann usw... ) zu programmieren. Dort habe ich ein Menü eingebaut, das anfangs nur ein Button ist, und wenn man diesen anklickt, öffnet sich das Menü. In diesem Menü hab ich mehrere anklickbare Elemente eingefügt, mit denen man zu anderen Seiten navigieren kann. Auf meinem Samsung Galaxy Alpha mit Android 5.0 funktioniert dies alles perfekt. Ich habe ein paar Bekannte, die meine App immer fleißig testen und einer hat ebenfalls Android 5.0 auf dem es auch läuft, der andere hat Android 4.4 und bei ihm öffnet sich zwar auch das Menü, wenn er aber auf die einzelne Elemente klickt, die im aufspringendem Menü drinnen sind, wird das so verarbeitet als ob das Menü gar nicht sichtbar wäre, also die Elemente darunter. Im Anhang findet ihr zwei Screenshots wie das ganze aussieht, einmal das nicht geöffnete Menü und einmal das geöffneten Menü.

Über jede noch so kleine Hilfe wäre ich wirklich sehr dankbar, denn langsam bin ich echt am verzweifeln... :(

Lg, Moonfire
 

Anhänge

Jaiel

Jaiel

Dauergast
Ich glaube Code würde hier helfen dir zu helfen damit man ein Bild hat. Der Touchfokus geht wohl verloren warum auch immer. Was ist das 2. Menü? Fragment? View?

Hast du eine apk ich könnte sie mal live testen und mir ein Bild machen davon...hab zwei Geräte mit Lollipop(note 4) und kitkat(s3)
 
I

{I-love-Android}

Ambitioniertes Mitglied
Also erstmal vielen Dank für eure Antworten :) Also ich benutze dafür ein View, das ich beim Programmstart mit name.setVisibility (View.GONE); ausblende und wenn man auf den Button klickt wird das Menü View wieder sichtbar. . Code kann ich wenn ich Zuhause bin schicken, obwohl ich nicht glaube, dass ihr damit mehr anfangen könnt, denn ich habe es euch ja eigentlich schon alles gesagt. Und @Jaiel ich könnte dir die apk Datei gerne schicken, aber ich habe in der App Bilder die urheberrechtlich geschützt sind. Also wenn du die App nicht weiterveröffentlichst sollte das kein Problem sein, aber du musst es mir eben versprechen.

Lg, Moonfire
 
Jaiel

Jaiel

Dauergast
jo kannst es ja hochladen und mit einem pw versehen dass du mir per pn schickst oder so...versprochen!
andererseits löst das vielleicht dein Problem:

Versuch mal:

requestFocus();
bringToFront();


Aber ich bin gespannt was du in onTouch() so machst, wenn du dein Code präsentierst
 
I

{I-love-Android}

Ambitioniertes Mitglied
ok, hab dir eine private Nachricht mit der apk Datei geschickt
 
Jaiel

Jaiel

Dauergast
Wenn ich das Menü offen habe dann klicke ich auf ein hintergrund menü uind es reagiert auch aber die stürzt dann komplett ab wenn ich auf die linke view oben klicke die lange...

also falls es das sit was du meinst dass die views anklickbar sind dann ist es so weil die zu sehen sind und der fokus auf denen liegt...
entweder entziehst du denen den fokus wenn deine menuview offen ist oder du machst ein abfrage ob die menuview zusehen ist in den onclick methoden udn returnst sofort wenn true

if(menuview.isFocused()) return false;

oder

if(menuview.getVisibility()==View.VISIBLE) return false;
 
I

{I-love-Android}

Ambitioniertes Mitglied
Also mit dem Befehl

bringToFront();

wird das View nach vorne gebracht, aber wie können dann die anderen View wieder den Fokus bekommen, wenn das Menü wieder geschlossen wurde ? Oder geht das automatisch ?
 
Jaiel

Jaiel

Dauergast
Versuchs mal ich denke schon sobald du beim schließen des Menüs die View nach hinten bringst und unsichtbar machst

Wie gesagt mich würde dein Code interessieren vor allem wie du clicks behandelst.
 
I

{I-love-Android}

Ambitioniertes Mitglied
Ok, danke, werde es mal so machen (bei klappt es unter Android 5 schon ) und dann meinem Bekannten mit Android 4.4 mal zum testen geben, ich sag dann bescheid ob es geklappt hat :)

So, mein Bekannter hat es jetzt getestet leider hat es immer noch dieselbe Wirkung, es wird das darunter geöffnet... :(

Also mein Code;

In der XML File bei jedem Element mit android:onClick die Methode aufgerufen und das auch bei dem Menü, und in der Methode die aufgerufen wird, wenn das View angklickt wird, wird das aufsprigende Menü sichtbar gemacht. Also dort auch mit bringToFront();

Wollt ihr sonst noch was wissen ?

Mir fällt gerade auf, dass das eine ziemlich unsaubere Weise ist, ich überschreibe jetzt alle Methoden mit .setOnTouchListener

Werde dann Bescheid geben, falls es dann funktionieren sollte...
 
Jaiel

Jaiel

Dauergast
reicht eigentlich die ontouch methode der view zu benutzen aber falls du das besser findest mach es so...
 
I

{I-love-Android}

Ambitioniertes Mitglied
Ich hab diese ja benutzt
 
I

{I-love-Android}

Ambitioniertes Mitglied
So, also ich habe das Menu unter verschiedenen Android Versionen (Emulator) getestet und es funktioniert jetzt auch :D