Я хочу программно записать XML-файл макета на SD-карту или в другое хранилище, и при загрузке приложения оно будет загружать файл как макет с помощью функции setContentView или любым другим способом. это возможно?
Нет, это невозможно, поскольку файлы макетов на самом деле являются скомпилированными файлами XML, что означает, что вы не можете изменять, добавлять или удалять их во время выполнения.Надеюсь, это поможет.
Решение заключается в создании пользовательского XML-декодера, который считывает ваш XML из файла, затем создает программно необходимые представления, а затем setContentView (представление).Декодер не является тривиальным, если вы используете много параметров в XML.
Вы можете попробовать использовать метод inflate (XmlPullParser parser ....) из LayoutInflater.Но ресурсы будут загружены из ресурсов контекста.