android webview 全屏播放,全屏显示,视频_安卓webview无法全屏播放iframe腾讯、优酷视频,全屏显示,视频,iframe,Android,webview - phpStudy...

安卓webview无法全屏播放iframe腾讯、优酷视频

先上代码吧

public class MainActivity extends AppCompatActivity {

static final String iframeStr = "";

private WebView videoWebView;

private FrameLayout fullScreenView;

private View customView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

fullScreenView = (FrameLayout) findViewById(R.id.video_fullscreen);

videoWebView = (WebView) findViewById(R.id.webView);

WebSettings settings = videoWebView.getSettings();

settings.setJavaScriptEnabled(true);

settings.setJavaScriptCanOpenWindowsAutomatically(true);

settings.setDatabaseEnabled(true);

settings.setAppCacheEnabled(true);

settings.setCacheMode(WebSettings.LOAD_DEFAULT);

settings.setPluginState(WebSettings.PluginState.ON);

settings.setAllowFileAccess(true);

settings.setLoadWithOverviewMode(true);

settings.setDomStorageEnabled(true);

settings.setUseWideViewPort(true);

videoWebView.setWebChromeClient(new MyWebChromeClient());

videoWebView.setWebViewClient(new MyWebViewClient());

videoWebView.loadData(iframeStr,"text/html","utf-8");

}

class MyWebViewClient extends WebViewClient{

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

return false;

}

}

class MyWebChromeClient extends WebChromeClient{

private CustomViewCallback customViewCallback;

@Override

public void onShowCustomView(View view, CustomViewCallback callback) {

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

videoWebView.setVisibility(View.INVISIBLE);

// 如果一个视图已经存在,那么立刻终止并新建一个

if (customView != null) {

callback.onCustomViewHidden();

return;

}

fullScreenView.addView(view);

customView = view;

customViewCallback = callback;

fullScreenView.setVisibility(View.VISIBLE);

}

@Override

public void onHideCustomView() {

if (customView == null)// 不是全屏播放状态

return;

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

customView.setVisibility(View.GONE);

fullScreenView.removeView(customView);

customView = null;

fullScreenView.setVisibility(View.GONE);

customViewCallback.onCustomViewHidden();

videoWebView.setVisibility(View.VISIBLE);

}

}

@Override

protected void onResume() {

super.onResume();

if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}

videoWebView.resumeTimers();

}

@Override

protected void onPause() {

super.onPause();

videoWebView.pauseTimers();

}

@Override

protected void onDestroy() {

super.onDestroy();

videoWebView.destroy();

}

}

就是用一个webview显示一个视频(不是一个视频网页,只是一个视频),然后我使用的是iframe的链接(就是腾讯视频分享那里的通用代码)。我参照了网上很多关于全屏显示的问题,基本代码都是这样,但是并没有用,感觉没有调用到那两个函数。还有是不是跟链接里限定了大小有关系。这样的话,需要修改什么才能全屏呢?

相关阅读:

themeroller使用问题?

[新手]关于socket.io接收tcp服务器数据后转发给客户端的问题【一句话就能解决?】

说实话,两年经验的前端独立完成一个商城项目,很容易吗?

JavaScript中函数作为另一个函数的参数的时候它存在于哪个作用域

这种情况怎么解决

angular2写的前端网站,需要集成进微信,前后端分离开发怎么做?

antd is not defined

move_uploaded_file()

移动端引入的字体文件过大该如何处理?

nodejs post的问题

allocator对象设为静态成员就会报错

webpack resolve.alias 配置问题

代码的最后两句,为什么参数加上了“[ ]”就能出来结果了呢

afnetworking从接口中得到数据,怎么把数据放在另外的变量里呢

在生产环境中输出错误信息是否安全?

请教一条sql

Cordova 应用如何通过 JavaScript 调用高德地图原生 API 辅助定位?

scrapy抓取网页返回的是404页面应该怎么做?

H5的copy事件?

安卓手机设备宽度(独立像素)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值