Intereting Posts
Разницу и когда использовать getApplication (), getApplicationContext (), getBaseContext () и someClass.this Имя месяца появляется с номером M + в диалоговом окне datePicker в android StartActivityForResult и Intents Дополнительно, кажется, что дополнительные функции не отбрасываются Агент MDM на iOS Почему эмулятор Android настолько медленный? Как мы можем ускорить разработку эмулятора Android? Как программно загрузить Html-страницу в android и получить ее Html? Как настроить кинжал + град Какова реальная точность акселерометров телефона при использовании для позиционирования? Где разместить XML-файл, содержащий данные в приложении для Android Как реализовать таймер обратного отсчета по горизонтали? Как создать представление, которое больше экрана? Как поддерживать Android-приложение неограниченно долго? Xamarin – Visual Studio застрял в zipalign.exe Показывать последний элемент в ListiView при нажатии на редактирование текста Как установить приложение в систему / приложение при разработке из студии Android

Создавать, хранить и накачивать пользовательский макет во время выполнения

Я пытаюсь найти решение для следующей проблемы. Приложение, на котором я работаю, требует возможности для пользователя создавать пользовательский интерфейс (компоновку простых виджетов) с помощью пользовательского построителя пользовательского интерфейса. Таким образом, пользователь может складывать виджеты (изображения, в основном, но TextViews и EditText, а также) на холсте, перемещать их и т. Д. Пользовательский интерфейс должен храниться в базе данных для будущего использования. Таким образом, должен быть некоторый механизм загрузки и раздувания этого пользовательского интерфейса. Это основная проблема.

Моя первая идея заключалась в том, чтобы полагаться на стандартный механизм компоновки Android. К сожалению, LayoutInflater работает с XML, скомпилированным в двоичную форму. И, насколько я знаю, невозможно скомпилировать XML-строку в двоичное представление во время выполнения.

Есть ли у кого-нибудь опыт с такой проблемой? Какие-либо предложения?

Solutions Collecting From Web of "Создавать, хранить и накачивать пользовательский макет во время выполнения"

Проверьте методы раздувания LayoutInflater . Фактически вы можете использовать любой XmlPullParser для использования в качестве своего источника, который, в свою очередь, может быть сконструирован для любого Reader .

Другими словами, вы можете использовать практически любой поток символов в качестве источника xml для раздувания.

Начало документов XmlPullParser дает вам базовый план создания парсера pull:

 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser xpp = factory.newPullParser(); xpp.setInput(new StringReader("<foo>Hello World!</foo>")); 

Обновление – это не сработает, как указано в документах LayoutInflater .