Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Creación / uso de XML de diseño generado en tiempo de ejecución en Android

Actualmente estoy trabajando en un proyecto que requiere que yo utilice un documento XML para procesar un formulario en un dispositivo Android. El formulario se debe buscar y mostrarse en tiempo de ejecución. Me pregunto si hay una manera de etiquetar el XML de formulario, transformarlo usando XSLT en un XML de diseño de Android, y luego hacer que el dispositivo lo procese.

  • Carpetas de diseño para Google Nexus 7 y 10
  • ¿Por qué obtengo una InstantiationException si intento iniciar un servicio?
  • Gradle no pudo resolver la biblioteca en Android Studio
  • ¿Es seguro hacer toda la limpieza en onDestroy?
  • Master-detail Uso de ContentResolver.applyBatch ()?
  • Android: Autenticación con NXP MiFare Ultralight C
  • ¿Cómo mantener seguro el secreto del consumidor de OAuth y cómo reaccionar cuando está comprometido?
  • ¿Cómo conservar los datos de EditText sobre el cambio de orientación?
  • Excepción en ListPreferences
  • EditText con teclado numérico por defecto, pero permitiendo caracteres alfabéticos
  • Almacenamiento de IDs extraibles en una matriz XML
  • Apoyo al mercado de Amazon y Android (Google Play) dentro de la aplicación
  • 3 Solutions collect form web for “Creación / uso de XML de diseño generado en tiempo de ejecución en Android”

    Desafortunadamente no puedes clonar LayoutInflater o usar otros trucos para hacerlo – la inflación de diseño depende enteramente de los constructores de vistas que toman un argumento AttributeSet, que dependen totalmente del método Context.obtainStyledAttributes, el cual depende por sí mismo de Tener un archivo XML binario pre-procesado para poder hacer una resolución de atributo razonablemente eficiente.

    Un enfoque alternativo que puede explorar es utilizar la herramienta aapt (o más probablemente una versión hackeada del mismo) en su servidor, para compilar los diseños que genere en los datos apropiados. Desafortunadamente, actualmente no tenemos una manera de construir un XmlPullParser desde una burbuja binaria en bruto (debe obtener esta burbuja del AssetManager), por lo que hay una cantidad considerable de trabajo que se debe realizar tanto en el cliente como en el servidor con este enfoque. Sospecho que uno puede llegar a algo bastante ordenado, pero será mucho trabajo.

    Android sólo contiene una forma integrada de "inflar" el diseño XML almacenado como un recurso de diseño en el archivo APK. Si desea "inflar" XML similar (o diferente) de otras fuentes, tendrá que implementarlo usted mismo, tal vez clonando alguna lógica de la clase LayoutInflater .

    El método LayoutInflater.inflate tomará un XmlPullParser como un argumento, así que todo lo que necesitas hacer es cargar tu XML creado dinámicamente en un PullParser y pasarlo al inflater.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.