Ich versuche, das android.view.ActionMode
mit dem Neuen android.support.v7.widget.Toolbar
zusätzlich zum Traditionellen zu verwenden android.app.ActionBar
. Ich kann es anzeigen mit:
toolbar.startActionMode(callback);
Das Problem ist, dass das ActionMode
über dem ActionBar
und nicht über dem angezeigt wird Toolbar
. Gibt es eine Möglichkeit, das zu ändern?
Ich habe versucht, Folgendes in mein Thema aufzunehmen, aber es scheint nichts zu ändern:
<item name="windowActionModeOverlay">true</item>
Antworten:
Stellen Sie zunächst sicher, dass Sie den richtigen Namespace importieren:
und nicht
dann benutze
und nicht
quelle
windowActionModeOverlay
Einstellung haben bei mir funktioniert.AppCompatActivity
und das HinzufügenwindowActionModeOverlay
war genug für mich. Ich habe versucht, Import zu verwenden,android.support.v7.view.ActionMode
aber es hat nicht funktioniertMultiChoiceModeListener
, also habe ichandroid.view.ActionMode
stattdessen verwendet. Wissen Sie, ob es eine Support-Version von gibtMultiChoiceModeListener
? DankeStarten Sie es nicht in Ihrer Aktivität, sondern in Ihrer Symbolleiste. In Ihrer Aktivität:
und du musst verwenden
in Ihrem Thema wie von Andre angegeben.
quelle
ActionMode.Callback
, wollte ich implementierenMultiChoiceModeListener
. Das Problem bei der Verwendung des SupportsActionMode
besteht darin, dass es anscheinend keine Support-Version von gibtMultiChoiceModeListener
.Versuchen Sie dies in Ihrem Thema:
quelle
android:
Präfix versucht und es in mein Anwendungsthema eingefügt . DasActionMode
überlagert dasActionBar
, aber ich will es über meinemToolbar
, das unter dem liegtActionBar
.Ich denke, das einzige, was die Leute nicht klar machen, ist, dass die Linie
wird im Basisthema platziert, dh AppTheme und nicht in der AppTheme.NoActionBar
quelle
Suchen Sie Ihre AndroidManifest.xml und fügen Sie als Nächstes den folgenden Code in Ihre Anwendung oder Ihr Aktivitätsthema ein
So wie:
quelle
Dies ist die Lösung, die ich gemacht habe.
In meiner onCreateActionMode- Methode von ActionMode.Callback füge ich Folgendes hinzu:
Für mich geht das.
quelle
Ich habe alle oben genannten Methoden ausprobiert, aber es funktioniert immer noch nicht. Und dann habe ich die folgende Methode ausprobiert:
Hier habe ich den Aktionsmodus und die Methode startSupportActionMode der Unterstützungsbibliothek verwendet. Gleichzeitig habe ich auch versucht, das Thema einer bestimmten Aktivität zu ändern. Sicher funktioniert es nicht. Wenn Sie also wirklich keine bessere Wahl haben, können Sie diese probieren.
Erst kürzlich habe ich festgestellt, dass ich den farbenfrohen Rahmen verwendet habe, um mehrere Themen meiner App zu aktivieren. Dadurch wird das Thema im Code geändert. Als ich versuchte, den Stil in diesem Framework zu ändern, funktioniert es.
Hoffe, es funktioniert.
quelle
Wenn Sie den Ansichtsbaum sehen, können Sie den folgenden Code schreiben:
quelle