¿Cómo puedo superponer un CordovaWebView de PhoneGap encima de una vista nativa en Android?
Estoy escribiendo una aplicación Phonegap con un plugin personalizado. Este complemento genera un fondo animado de pantalla completa (esencialmente un video) en su propio SurfaceView (piense en él como un vídeo de fondo). Quiero que la vista previa del teléfono regular esté en la parte superior de este complemento, como una superposición transparente. ¿Cómo puedo hacer eso?
Mi código actual:
- Spinner con sub-spinner no funciona como se esperaba
- Dibuja una imagen en modo FullScreen Android
- Vista de lista de Android Giros de derecha / izquierda como registros de llamadas
- Vista de texto alrededor de Ver
- ¿Qué debo pasar por la raíz al inflar una presentación para utilizarla en ActionView de MenuItem?
public void initialize(CordovaInterface cordova, CordovaWebView webView) { final FrameLayout layout = (FrameLayout) webView.getView().getParent(); final Activity activity = cordova.getActivity(); activity.runOnUiThread(new Runnable() { @Override public void run() { try { // here I insert the surface // that I want to be placed behind the webview activity.setContentView(R.layout.preview); MySurfaceView myView = new MySurfaceView(activity); FrameLayout preview = (FrameLayout) activity.findViewById(R.id.myview); preview.addView(myView); } catch(Exception e) { Log.e(CamCapture.TAG, "failed: " + e.getMessage()); } } }); }
Esta pregunta es lo contrario de ¿Cómo puedo superponer una vista nativa encima de CordovaWebView de PhoneGap en Android?
- GridLayout dando errores, aplastando la aplicación
- ProgressBar Color
- Programaticamente agregar TableRow a TableLayout no funciona
- Diferentes resultados al utilizar los métodos de inflado de LayoutInflator
- No se puede convertir a dimension: type = 0x1 cuando se ejecuta la aplicación en Android 4.1
- Android layout_width & layout_height, cómo funciona?
- GridLayout escupiendo "coherencia inconsistente" registros de nivel de depuración
- (Disposición de Android) Solución para colocar el botón en la parte superior de la imagen de forma irregular o obtener la detección de toque (zona de contacto) de área particular de la imagen?
Puede hacerlo poniendo su vista web sobre la vista Nativa en un diseño relativo y estableciendo la siguiente propiedad en su vista web
wv.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); view.setBackgroundColor(ContextCompat.getColor(context, R.color.transparent)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { view.setLayerType(View.LAYER_TYPE_HARDWARE, null); } else { view.setLayerType(View.LAYER_TYPE_SOFTWARE, null); } } }); wv.setBackgroundResource(android.R.color.transparent);
Hará que el fondo de su webview sea transparente y pueda ver su vista nativa.
- Ocultar teclado de entrada suave cuando se cierra el diálogo
- IOS Google Analytics Dimensiones personalizadas