Я работаю над элементами управления для игры, и мне требуется, чтобы часть панели управления (серая на рисунке ниже) изменялась динамически, показывая либо один холст (слева), либо 5 кнопок (справа).Граница между представлениями нижнего ряда всегда должна располагаться точно в той же позиции х, что и граница между кнопками в верхнем ряду, как показано.В то же время все двенадцать верхних кнопок должны масштабироваться и распределяться равномерно.
![Layout including canvas (left) and buttons (right)](https://i.stack.imgur.com/uZTzp.png)
Я рассмотрел несколько подходов, но пока ни один из них не выполняет всего, что я хочу:
- Использование двух LinearLayouts, по одному для каждого ряда элементов управления: надежное выравнивание границ кажется невозможным, а замена части макета в лучшем случае затруднена.
- Использование TableLayout:опять же, заменить часть макета сложно.
- Использование RelativeLayout: изменение размера и выравнивание кнопок независимо от размера экрана не представляется возможным
Любые предложения для альтернативного методаили о том, как заставить работать один из вышеперечисленных подходов?Также было бы неплохо, если бы был какой-то способ анимировать смену видов, например, сдвигая кнопки слева над холстом.Спасибо!