Я хочу, чтобы в моем приложении было меню, похожее на facebook. Об этом много тем, и все они предлагают использовать библиотеку, которая на самом деле просто делает снимок экрана и сдвигает это изображение вправо, чтобы отобразить меню слева и скользить изображение с некоторым переходом. Но в этом случае макет справа не активен, так как это изображение.
Но у меня есть другой способ сделать это, в котором у меня есть корневой макет, который уже имеет макет меню и макет содержимого. Но корневой макет имеет отрицательный запас слева, поэтому он не виден. Так-
Когда пользователь нажимает кнопку меню, макет меню сдвигается вправо, а левое поле корневого макета устанавливается на 0. Итак, теперь мы видим следующее:
Итак, настоящая проблема начинается здесь.
Я хочу сдвинуть оба макета с некоторой анимацией. Поэтому, когда я анимирую макет меню и макет содержимого, анимация для обоих макетов не с одинаковой скоростью, даже если я применяю к нему одинаковую анимацию. Поэтому я попытался сдвинуть только ROOT LAYOUT вправо/влево, установив для него поле. Но при этом на экране ничего не отображается. Где я ошибаюсь. Здесь показано, как я устанавливаю маржу:
int width = leftLayout.getWidth();
isLayoutShown = !isLayoutShown;
if(isLayoutShown){
rootLayoutParams.setMargins(0, 0, 0, 0);
rootLayout.setLayoutParams(rootLayoutParams);
}else{
rootLayoutParams.setMargins(-width, 0, 0, 0);
rootLayout.setLayoutParams(rootLayoutParams);
}