2016-03-30 22 views
9

Özel yapım eklenti içeren bir Phonegap uygulaması yazıyorum. Bu eklenti, kendi SurfaceView'ında (arka plan görüntüsü olarak düşünün) tam ekran animasyonlu bir arka plan (aslında bir video) oluşturur. Normal telefon görüşmesi web sayfasının bu eklentinin üzerinde, şeffaf bir yer paylaşımlı olarak olmasını istiyorum. Bunu nasıl yapabilirim?Android'de yerel bir görünümün üzerine bir PhoneGap'ın CordovaWebView'ını nasıl yerleştirebilirim?

Benim geçerli kod:

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()); 
      } 

     } 
    }); 
} 

Bu soru Kendi web görünümünde göreli bir düzen ve ayar aşağıdaki özelliğinde Yerli görünümde web görünümünü koyarak bunu yapabilirsiniz How can I overlay a native view on top of PhoneGap's CordovaWebView in Android?

+0

CrossWalk'un mevcut sürümlerinin saydamlıkla ilgili sorunlarının olduğunu unutmayın. Bu benim sorunumun bir parçasıydı. – brunobg

cevap

2

tersidir

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); 

Web görünümünüzün arka planını saydamlaştıracak ve yerel görünümünüzü görebilirsiniz.

+2

Bu, normal bir Cordova uygulamasıyla, web görünümünün göreli düzende (xml'de, nasıl) taşındığını (veya konumlandırmasını) yapabilir? Veya yerel bir uygulama kurup üstte web görünümü oluşturmam gerekiyor mu? – brunobg

İlgili konular