HTML5视频mediacontroller隐藏在对话框后面

时间:2014-01-28 06:26:35

标签: android html5 video

我有一个webview来显示html5视频,我的目标是全屏显示视频。为了做到这一点,我必须扩展WebChromeClient类并覆盖onShowCustomView和OnHideCustomView方法。我目前正在处理的项目是一个库项目,因此activity_main.xml不可用。然后我使用一个对话框以全屏显示视频。问题是mediacontroller没有显示。这是我的代码:

@Override
public void onShowCustomView(View view, CustomViewCallback callback) {  
    if (customView != null){
        customViewCallback = callback;
        callback.onCustomViewHidden();
        return;
    }

    root  = new RelativeLayout(mContext);
    customViewCallback = callback;
    customView = view;  

    root.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
    root.addView(customView,params);

    Button closeBtn = new Button(mContext);
    closeBtn.setText("Close");
    params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    closeBtn.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            onHideCustomView();
        }           
    });
    root.addView(closeBtn);




    mDialog = new Dialog(mContext,android.R.style.Theme_NoTitleBar_Fullscreen);
    mDialog.setContentView(root);
    mDialog.show();

}

@Override
public void onHideCustomView() {
    if (mDialog != null) {  
        mDialog.dismiss();
        customViewCallback.onCustomViewHidden();
    }

    mDialog = null;
    customView = null;
    root = null;
}

customView是一个View,root是RelativeLayout,它们是扩展的WebChromeClient类的成员。如何显示媒体控制器,有人帮忙吗?顺便说一下,在这种情况下有没有办法定制媒体控制器?

0 个答案:

没有答案