Я думаю, что Android Layout отлично подходит для большинства вариантов использования для взаимодействия с пользователями, НО (большое Но), механизм Layout очень деликатный и сложно его правильно расширить.Для небольших твиков это хорошо, но если вы хотите сделать что-то необычное (например, анимированную карусель), вы, вероятно, в любом случае делаете бесплатную графику, поэтому вам не нужна дополнительная сложность расширения Layout.Это просто больше ограничений, без оправданной добавленной стоимости.
Большинство приложений имеют некоторые стандартные элементы (ActionBar, кнопки, настройки, диалоги и т. Д.) И один или несколько «уникальных» элементов.Поэтому я предлагаю использовать стандартную компоновку для стандартного материала, но для ваших уникальных элементов используйте один из них:
1) SurfaceView - очень прост в использовании.См. Официальный пример кода Lunar Lander .Чтобы увидеть SurfaceView в действии, вы также можете посмотреть мое приложение видео, которое использует SurfaceView для анимированного элемента, и все выложено с помощью RelativeLayout.
2) opengl - этосамый мощный способ сделать графику на Android.Он работает на графическом процессоре, поэтому процессор может свободно делать другие вещи.И это 3D (или 2D, если вы просто используете одну плоскость).Я использую libgdx , и это здорово, и не сложно после короткого обучения.
И SurfaceView, и opengl (GLSurfaceView) являются представлениями, поэтому их можно добавлять в макет как любойдругой взгляд