bru*_*obg 10 android android-layout cordova
我正在编写一个带有自定义插件的Phonegap应用程序.此插件在其自己的SurfaceView上生成全屏动画背景(基本上是视频)(将其视为背景视频).我希望常规的phonegap webview位于这个插件的顶部,作为透明覆盖.我怎样才能做到这一点?
我目前的代码:
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());
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
您可以通过将 Web 视图放在相对布局中的本机视图上并在 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);
Run Code Online (Sandbox Code Playgroud)
它将使您的网络视图的背景透明,您可以看到您的本机视图。
| 归档时间: |
|
| 查看次数: |
1066 次 |
| 最近记录: |