1. Структура и стили можно держать в одном файле, а можно вынести стили в отдельный файл и подключать стили с помощью специального атрибута style. Можно гибко управлять стилями при помощи тем. Т.е. в описании элемента (View) в файле с версткой прописали имя стиля в атрибуте style; завели несколько тем с разными описаниями этого стиля; и элемент будет выглядеть по-разному в отличие от выбранной темы.
2. В нативном андроиде есть GridView (таблица), ListView (список), TabLayout (вкладки), ConstrainLayout (очень крутая штука, в двух словах не описать) и многое другое. Еще всякие интересные лайауты библиоткеками подключаются. Например, https://github.com/wasabeef/awesome-android-ui . Вроде дефицита нет, но мне кажется, веб все-таки многообразнее. Для фреймворков типа Flutter или React Native, конечно, тоже все это есть.
2. В нативном андроиде есть GridView (таблица), ListView (список), TabLayout (вкладки), ConstrainLayout (очень крутая штука, в двух словах не описать) и многое другое. Еще всякие интересные лайауты библиоткеками подключаются. Например, https://github.com/wasabeef/awesome-android-ui . Вроде дефицита нет, но мне кажется, веб все-таки многообразнее. Для фреймворков типа Flutter или React Native, конечно, тоже все это есть.