mit dem Teilen in der Split -ActionBar
-
28-10-2019 - |
Frage
Ich habe ein Problem, bei dem wenn das ActionItem
hat sowohl ein Symbol als auch einen Text und die ActionBar
ist geteilt, es zeigt nur das Symbol, auch wenn die showAsAction="always|withText"
.
Gibt es eine Möglichkeit, den Text zum Erscheinen zu zwingen?
Lösung
withText
ist ein Hinweis auf das System. Bei Breitenbetriebsgeräten oder Konfigurationen kann das System es ignorieren.
Andere Tipps
Ich hatte in letzter Zeit das gleiche Problem und wie bereits von Adamp beantwortet wurde, gibt es keine Möglichkeit, den Text mit der Option "WithText" zu erzwingen.
Tatsächlich kann dies mit einer benutzerdefinierten Ansicht in der ActionBar als IE im Google -Kalender -Ereignisbildschirm des Google -Kalenders erfolgen (Schaltfläche und speichern Sie in der Aktionsleiste, beide mit Text).
Überprüfen Sie die Quelle der Google -Kalender darüber, wie es fertig ist
https://android.googlesource.com/platform/packages/apps/calendar
Es gibt ein Layout für die action einen benutzerdefinierten Ansicht in
res/layout/edit_event_custom_actionbar.xml
Bitte überprüfen Sie auch die verwandten Stile
Dies wird auf die ActionBar in der EdueVEventFragment -Klasse, Methode OnCreateView angewendet, angewendet
if (mUseCustomActionBar) {
View actionBarButtons = inflater.inflate(R.layout.edit_event_custom_actionbar,
new LinearLayout(mContext), false);
View cancelActionView = actionBarButtons.findViewById(R.id.action_cancel);
cancelActionView.setOnClickListener(mActionBarListener);
View doneActionView = actionBarButtons.findViewById(R.id.action_done);
doneActionView.setOnClickListener(mActionBarListener);
mContext.getActionBar().setCustomView(actionBarButtons);
}
Die Event -Handler sind auch dort zugewiesen.
Die ActionBar Display -Option wird in der EDITEventActivity -Klasse, OnCreate -Methode, festgelegt:
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_HOME|
ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_CUSTOM);
Das habe ich bisher herausgefunden. Es gibt einige zusätzliche Konfiguration für andere Bildschirmoptionen (Tablets), die die Standardmenükonfiguration für die ActionBar verwenden. Verwenden eines ähnlichen Layouts, eines ähnlichen Stils und dieser beiden Ausschnitte in meinem eigenen Code das erwartete Ergebnis (ActionBar -Element mit Text).
Hoffe das hilft