Sieht so aus, als hätte ich
benutzt getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
mein Schlechter. FLAG_LAYOUT_NO_LIMITS, entfernt Limits für das Kontextmenü. (Das ist der Grund, das Kontextmenü aus dem Bildschirm zu gehen), Hoffnung, die für jemanden hilft
Leider folgt das Popup-Menü nicht der Größe der Ansicht, in der es sich befindet, und es wird nicht angezeigt. Ich hatte das gleiche Problem vorher. Und ich weiß, es ist nicht die beste Lösung, aber hier geht es:
Erstellen Sie eine gefälschte Ansicht , die transparent ist, um als Anker zu verwenden, um das Überschreiten der Kante zu verhindern.
Da es jedoch schweben wird, können Sie es nicht auf die obere oder untere Seite legen, also achten Sie auf die Höhe, wenn Sie dies versuchen.
Und übrigens NICHT vergessen , android:anyDensity="True/False"
Benutze das in deinem Code final PopupMenu popup = new PopupMenu(v.getContext(), v,Gravity.Right);
Wenn dies nicht funktioniert, ändern Sie die Ankeransicht v, da sie die Position des Popup-Menüs gemäß Ihren Anforderungen festlegen kann.
Tags und Links android user-interface android-layout android-activity appcompat