Android使用WebView全屏播放网页视频
2016-08-15 09:25
931 查看
一、在Androidmanifest.xml中对Activity进行设置
二、设置权限
三、布局文件如下
四、Activity中的实现代码
android:hardwareAccelerated="true" android:configChanges="orientation|keyboardHidden|navigation|screenSize"
android:screenOrientation="portrait"
二、设置权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission>
三、布局文件如下
<?xml version="1.0" encoding="utf-8" ?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#888888"> <FrameLayout android:id="@+id/fl_video" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:visibility="gone" /> <LinearLayout android:id="@+id/ll_content" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00000000" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="#008800" android:orientation="horizontal"> <ImageView android:layout_width="25dp" android:layout_height="20dp" android:id="@+id/image" android:layout_centerVertical="true" android:layout_marginLeft="15dp" android:src="@mipmap/back_transparent"/> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:ellipsize="marquee" android:gravity="center" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:singleLine="true" android:text="WebView播放网络视频示例" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/wv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" /> </RelativeLayout> </LinearLayout> </FrameLayout>
四、Activity中的实现代码
package com.example.office.testjs; import android.app.Activity; import android.content.Intent; import android.content.pm.ActivityInfo; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; /** * Created by office on 2016/8/1. */ public class SecondActivity extends Activity { private WebView wv; private View customView = null; private LinearLayout ll_content; private FrameLayout fl_video; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second_layout); wv = (WebView)findViewById(R.id.wv); ll_content = (LinearLayout)findViewById(R.id.ll_content); fl_video = (FrameLayout)findViewById(R.id.fl_video); imageView= (ImageView) findViewById(R.id.image); WebSettings webSettings=wv.getSettings(); webSettings.setJavaScriptEnabled(true); // webSettings.setBuiltInZoomControls(true); // webSettings.setDisplayZoomControls(false); // webSettings.setSupportZoom(true); // webSettings.setDomStorageEnabled(true); // webSettings.setDatabaseEnabled(true); wv.setWebChromeClient(new MyWebChromeClient()); wv.setWebViewClient(new WebViewClient()); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); wv.loadUrl("http://www.iqiyi.com/"); } @Override public void onBackPressed() { if (wv.canGoBack()){ wv.goBack(); }else{ super.onBackPressed(); } } class MyWebChromeClient extends WebChromeClient { private CustomViewCallback customViewCallback; @Override public void onShowCustomView(View view, CustomViewCallback callback) { // super.onShowCustomView(view, callback); // if (customView != null) { // callback.onCustomViewHidden(); // return; // } customView = view; customViewCallback = callback; ll_content.setVisibility(View.GONE); fl_video.addView(customView); fl_video.setVisibility(View.VISIBLE); fl_video.bringToFront(); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//设置横屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏 } @Override public void onHideCustomView() { ll_content.setVisibility(View.VISIBLE); if (customView == null) { return; } fl_video.removeView(customView); customView = null; fl_video.setVisibility(View.GONE); try { customViewCallback.onCustomViewHidden(); } catch (Exception e) { } setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 设置竖屏 final WindowManager.LayoutParams attrs =getWindow().getAttributes();// 取消全屏 attrs.flags &= (WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setAttributes(attrs); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); } }
相关文章推荐
- Android WebView 总结 —— 使用HTML5播放视频及全屏方案
- Android中使用WebView全屏播放视频时home键不起作用的问题解决
- Android WebView 总结 —— 硬件加速使用HTML5播放视频及全屏方案
- 关于Android中使用WebView播放网络视频不能全屏的问题
- Android WebView 总结 —— 使用HTML5播放视频及全屏方案
- Android使用WebView浏览有声音或者视频的网页,关闭WebView之后,声音或者视频不停止的解决办法
- Android webview怎么播放网页中的视频?
- 菜鸟学android——webview播放网络视频,由竖屏转换为横屏全屏播放
- Android webview加载html5网络视频全屏播放
- android 使用WebView 支持播放优酷视频,土豆视频
- android WebView实现播放网络视频以及全屏显示
- 安卓WebView中全屏播放网页视频
- 控制webview使用html5的video播放视频不全屏(inline)的方法
- Android解决WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理
- Android 使用Webview无法播放视频问题的解决办法
- android 4.0以上WebView不能全屏播放视频的解决办法
- Android webview全屏播放HTML5中的视频
- android 4.0以上WebView不能全屏播放视频的解决办法
- android 使用webview访问优酷无法播放视频的问题
- Android用Webview播放优酷视频全屏问题