Cambiar el tema de android de cordova config.xml

En mi empresa estamos utilizando Ionic Framework y Cordova para crear nuestra aplicación para móviles y al iniciar el diseño de la aplicación, encontramos un problema con el tema de Android y cómo configurarlo sin tocar el comando AndroidManifest generado por Ionic build.

En cualquier lugar que busque se recomienda implementar cualquier personalización desde el archivo config.xml y nunca tocar el AndroidManifest, pero no puedo encontrar ningún método con respecto al tema de Android.

Mi pregunta a usted ahora: ¿Hay una manera de fijar el tema androide para la aplicación, por ejemplo tema de Holo, del Config.xml sin cambiar el AndroidManifest.xml generado?

2 Solutions collect form web for “Cambiar el tema de android de cordova config.xml”

Para evitar tocar el directorio de plataformas, puede usar un gancho cordova. Soy bastante terrible en el nodo, pero aquí es algo que debe hacer el truco. Primero npm install elementtree entonces cree una carpeta secundaria after_prepare en la carpeta de los ganchos. De ahí pegar este código en un archivo javascript y cambiar YourTheme.

Honestamente, este es un código bastante grueso, pero debería darte la idea.

 #!/usr/bin/env node var fs = require( "fs" ); var et = require('elementtree'); var rootdir = process.argv[2]; console.log(rootdir); fs.open(rootdir + '/platforms/android/AndroidManifest.xml', 'r+', function (err, fd) { if (err) { exitError(err); } fs.stat(rootdir + '/platforms/android/AndroidManifest.xml', getStats); function getStats(error, stats) { if (error) { exitError(error); } var buffer = new Buffer(stats.size); fs.read(fd, buffer, 0, buffer.length, null, fileRead); } function fileRead(error, bytes, buf) { var data = buf.toString("utf8", 0, buf.length); var androidXML = et.parse(data); var root = androidXML.getroot(); var activityTag = root.find("application/activity"); activityTag.attrib["android:theme"] = "@style/YourTheme"; var outputBuffer = new Buffer(et.tostring(root), "utf-8"); console.log(outputBuffer.toString()); fs.closeSync(fd); fs.open(rootdir + '/platforms/android/AndroidManifest.xml', 'w', writeFile); function writeFile(error, fd) { if (error) { exitError(error); } fs.write(fd, outputBuffer, 0, outputBuffer.length, 0, function( errw, written, str) { if (errw) { exitError(errw); } console.log('file written'); fs.close(fd); }); } } }); function exitError(error) { console.log(error); process.exit(0); } 

Sé que estoy atrasado, pero el complemento cordova-custom-config solo para "actualizar los archivos de configuración de la plataforma basados ​​en las preferencias y los datos de los archivos de configuración definidos en config.xml".

por ejemplo:

  1. instale el plugin cordova-custom-config : cordova plugin add cordova-custom-config --save

  2. Config.xml: <preference name="android-manifest/application/activity/@android:theme" value="@android:style/Theme.Holo"/>

Esto agregará el atributo "android: theme" a su AndroidManfiset -> aplicación -> actividad con el valor: @android:style/Theme.Holo .

  • Android: Obtener todas las entradas seleccionadas de MultiSelectListPreference (SharedPreferences)
  • Android ImageButton no muestra la imagen, aunque es visible en la vista previa de Designer
  • ¿Cuál es la mejor manera de definir constantes en android, ya sea clase estática, interfaz o recurso xml?
  • Cómo agregar un hipervínculo a una pantalla de preferencias (PreferenceActivity)
  • Android support-v7 CardView: La vista de texto de encabezado con otro color de fondo no se extiende hasta que los bordes
  • setting screenOrientation en AndroidManifest.xml no funciona
  • Tema Programáticamente establecido. Cómo volver a cargar Actividad para aplicar
  • Gradiente como este?
  • XmlPullParserException función no admitida
  • Tag mismatch error-Android studio
  • Problemas frecuentes que surgen en la vista de android, análisis de error XML: prefijo no enlazado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.