|
@@ -109,18 +109,27 @@ public class TopBar extends AppBarLayout {
|
109
|
109
|
}
|
110
|
110
|
|
111
|
111
|
public void showContextualMenu(final ContextualMenuParams params, StyleParams styleParams, Callback onButtonClicked) {
|
|
112
|
+ final ContextualMenu menuToRemove = contextualMenu != null ? contextualMenu : null;
|
112
|
113
|
contextualMenu = new ContextualMenu(getContext(), params, styleParams, onButtonClicked);
|
113
|
114
|
titleBarAndContextualMenuContainer.addView(contextualMenu, new ViewGroup.LayoutParams(MATCH_PARENT, WRAP_CONTENT));
|
114
|
115
|
ViewUtils.runOnPreDraw(contextualMenu, new Runnable() {
|
115
|
116
|
@Override
|
116
|
117
|
public void run() {
|
117
|
118
|
titleBar.hide();
|
118
|
|
- contextualMenu.show();
|
|
119
|
+ contextualMenu.show(new Runnable() {
|
|
120
|
+ @Override
|
|
121
|
+ public void run() {
|
|
122
|
+ if (menuToRemove != null) {
|
|
123
|
+ titleBarAndContextualMenuContainer.removeView(menuToRemove);
|
|
124
|
+ }
|
|
125
|
+ }
|
|
126
|
+ });
|
119
|
127
|
}
|
120
|
128
|
});
|
121
|
129
|
}
|
122
|
130
|
|
123
|
131
|
public void onContextualMenuHidden() {
|
|
132
|
+ contextualMenu = null;
|
124
|
133
|
titleBar.show();
|
125
|
134
|
}
|
126
|
135
|
|