Я хочу иметь возможность изменять размер actionMode или, по крайней мере, иметь actionMode с одинаковым размером панели инструментов.ActionMode меньше, чем панель инструментов в ландшафте
У меня есть панель инструментов с фиксированным размером в портрет и пейзаж. Я использую 56dp (значение для мобильного портрета) как значение для обоих.
Моя панель инструментов в порядке. Проблема в том, что во время изменения ориентации мой actionMode получает значение по умолчанию от android? Attr/actionBarSize, поэтому в ландшафте я заканчиваю actionMode меньше, чем панель инструментов.
Нормальный ActionMode код
if (actionMode == null) {
actionMode = ((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback);
}
Я пытался в onConfigurationChanged изменить размер actionMode, но не повезло. Это пример изменения размера панели инструментов. По-видимому, нет никакого способа сделать то же самое для actionMode. Какие-либо предложения? Спасибо
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE || newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
Toolbar toolbar = ((MainActivity)getActivity()).getToolbar(); //my custom method to get the toolbar
if (toolbar != null) {
int toolbarHeight = (int)getResources().getDimension(R.dimen.toolbar_height);
toolbar.setMinimumHeight(toolbarHeight);
ViewGroup.LayoutParams lp = toolbar.getLayoutParams();
lp.height = toolbarHeight;
toolbar.setLayoutParams(lp);
}
}
}