Я хочу иметь возможность изменять размер 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);
}
}
}