Android PhoneGap con controles nativos
Estoy intentando construir una aplicación de Android con PhoneGap.
Necesito poder usar el PhoneView WebView (super.appView) y toda su magia de javascript pero también necesito exhibir algunos controles nativos de la interfaz de usuario alrededor del WebView.
- Phonegap Android Internet no funciona
- El teclado webview android no aparece durante mucho tiempo para introducir valores
- Android Webview Javascript - Referencias a secuencias de comandos no funcionan
- ¿Cuáles son los formatos de archivo en el directorio de caché de Android WebView (data_1, f_000001 etc.)?
- Flash no se está cargando en la vista Web en Android
Este post va parte forma de proporcionar una solución Android PhoneGap Plugin, UI tabbar, redimensionar WebView
¿Alguien ha logrado implementar PhoneGap con una interfaz de usuario nativa?
También usaré un GestureOverlayView pero ésa es otra historia;)
- Cómo jugar auto iframe youtube en webview android
- Ajuste el tamaño de fuente de Android WebView
- Mostrar vídeo HTML5 en pantalla completa
- Cómo pasar un objeto Blob de javascript a Android?
- Mono para Android, el campo de entrada de WebView filechooser no funciona
- ¿Puede WebView de Android redimensionar automáticamente imágenes enormes?
- Cómo grabar la pantalla de actividad de la webview con Android MediaCodec?
- ¿Cómo escribes y usas correctamente una subclase View en Android?
Responder:
super.onCreate(savedInstanceState); //creates super.appView and calls setContentView(root) in DroidGap.java init(); //just an empty LinearLayout layoutId = R.layout.blank; view = new LinearLayout(this); setContentView(layoutId); view.addView(your_component_here); view.addView((View) appView.getParent()); //adds the PhoneGap browser at index 1 //accesses the browser at index 1. Tells browser to not fill view view.getChildAt(1).setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1)); setContentView(view);
Tendría dificultades para decirte cómo funciona esto, todo lo que puedo decirte es que lo hace y es todo mi propio trabajo.
Establecer la vista a un color diferente puede ayudar a ver lo que está pasando también ….
view.setBackgroundColor(Color.BLUE);
Trabajar con PhoneGap-1.0.0.jar la última versión hasta ahora.
Un enfoque más limpio:
super.onCreate(savedInstanceState); // Create native view with UI controls. View header = View.inflate(getContext(), R.layout.header, null); // PhoneGaps WebView is located inside a LinearLayout. // The protected (and therefore inherited) variable root // references this LinearLayout. Add your native Views // to this variable. root.addView(header); // Create WebView and add it automatically to the LinearLayout. super.loadUrl("file:///android_asset/www/index.html");
Sí, puede integrar controles nativos en HTML mediante el complemento.
Llame al método nativo que contiene su vista nativa desde la página HTML mediante el complemento.
Por ejemplo, window.plugins.anatomyPlugin.showAudio();
Yo uso esto para mostrar el diseño de reproductor de audio en nativo.
Esta guía de PhoneGap puede ser útil.
- Recuperar el número y el IMEI del teléfono móvil
- Implementación del método de devolución de llamada en Android