您现在的位置是: 首页 > 电脑信息咨询 电脑信息咨询
android webview 硬件加速_
tamoadmin 2024-09-06 人已围观
简介1.android html5怎么使用assets中的2.谁能列举一点webview 的 AnimationTypeShow 动画名称吗3.android浏览器看如何把flash转为html54.Android webview中如何播放网络我们所构建的对象如下:复制代码代码如下:private class AndroidBridge { public void goMarket(
1.android html5怎么使用assets中的
2.谁能列举一点webview 的 AnimationTypeShow 动画名称吗
3.android浏览器看如何把flash转为html5
4.Android webview中如何播放网络
我们所构建的对象如下:
复制代码代码如下:
private class AndroidBridge {
public void goMarket() {
handler.post(new Runnable() {
public void run() {
Intent installIntent = new Intent(
"android.intent.action.VIEW");
installIntent.setData(Uri
.parse("market://details?id=com.adobe.flashplayer"));
startActivity(installIntent);
}
});
}
}
jascript如果调用goMarket()方法,则进入的是专用于浏览器的特殊线程,如果涉及的UI更新,则要通过handler来操作。这样点击链接后会调用你手机中的market软件,如图二。安装之后就能播放flash了。有一个a.swf在assets下,如图三所示。
复制代码代码如下:
String url="file:///android_asset/a.swf";
mWebView.loadUrl(url);
当然一开始要对WebView进行一些设置:
WebSettings setting=mWebView.getSettings();
setting.setPluginState(PluginState.ON);
setting.setJaScriptEnabled(true);
android4.0以上还得开启硬件加速,在manifest文件中,这个activity标签下加上如下属性:
复制代码代码如下:
android:hardwareAccelerated="true"
android html5怎么使用assets中的
对于4.0以后的WebView空间,要想做到webView的背景透明,需要关闭WebView的硬件加速功能,可以在xml中配置此属性。如下:
1、在xml文件中设置WebView的android:layerType属性为software。
<WebView
android:id="@+id/webview"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layerType="software"
/>
2、在代码中设置WebView的setBackground属性
int color = getResources().getColor(R.color.transparent_black);
mWebView.setBackgroundColor(color); // 设置背景色
背景颜色的透明度比可以由您自己设置。
可以测试通过
mWebView.loadUrl("://.baidu");
打开百度的首页测试半透明效果。
3、另要注意的是在编写html时注意他的背影的设置。
谁能列举一点webview 的 AnimationTypeShow 动画名称吗
因为毕设需要,这段时间就一直在做基于HTML5 video定制的播放器,因为开发和测试过程也一直都是配合Nexus7的Chrome进行测试,所以本以为Android上应该会是最为顺利没有问题的,但是在经过PhoneGap封装测试时,发现在iOS上完全正常,但是在Android上反而没办法播放了。
问题出现在用Android的Webview在播放应用assets中的时候,但我尝试把地址改为互联网地址的时候就正常了。
经过反复测试,发现使用HTML5访问应用目录的时候会存在Android权限限制的问题,不过访问sdcard是能够正常使用的,也就是地址是:file://sdcard/ 下的就可以正常使用了。(对于远程文件下载到本地后播放直接下载到sdcard自己的目录即可;如果原先文件已经在assets目录的,则可以在启动WebView前复制到sdcard)
上述测试的环境为 Nexus 7 (with Android 4.4.2) / Android 4.4 SDK
PS:
网络上还有说HTML5播放需要在AndroidManifest.xml开启硬件加速
<lication android:hardwareAccelerated="true"
我用PhoneGap的时候默认生成的就已经是开启的了,就没作另外的测试。
android浏览器看如何把flash转为html5
Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作。通过plus.webview可获取应用界面管理对象。
方法:
all: 获取所有Webview窗口
close: 关闭Webview窗口
create: 创建新的Webview窗口
currentWebview: 获取当前窗口的WebviewObject对象
getWebviewById: 查找指定标识的WebviewObject窗口
getLaunchWebview: 获取应用首页WebviewObject窗口对象
getTopWebview: 获取应用显示栈顶的WebviewObject窗口对象
hide: 隐藏Webview窗口
open: 创建并打开Webview窗口
show: 显示Webview窗口
defaultHardwareAccelerated: 获取Webview默认是否开启硬件加速
对象:
AnimationTypeShow: 一组用于定义页面或控件显示动画效果
AnimationTypeClose: 一组用于定义页面或控件关闭的动画效果
WebviewObject: Webview窗口对象,用于操作加载HTML页面的窗口
WebviewBounceStyle: Webview窗口回弹样式
WebviewDock: 原生控件在窗口中停靠的方式
WebviewEvent: Webview窗口
WebviewRefreshStyle: Webview窗口下拉刷新样式
WebviewPosition: 原生控件在窗口中显示的位置
WebviewStyles: JSON对象,原生窗口设置参数的对象
WebviewExtraOptions: JSON对象,原生窗口扩展参数
WebviewTransform: 一组用于定义页面或控件变形的属性
WebviewTransition: 一组用于定义页面或控件转换效果的属性
WebviewOverridResourceOptions: 拦截Webview窗口请求的参数
WebviewOverrideUrlOptions: 拦截Webview窗口URL请求的属性
WebviewListenResourceOptions: 监听Webview窗口加载的属性
Android webview中如何播放网络
Android中可以直接使用webView来加载HTML5通过video标签来播放。以下为基本步骤:
一、需要在AndroidManifest.xml文件中声明需要使用HardwareAccelerate, 可以细化到Activity级别,如果不需要的View可以声明不要用加速,但是需要在代码中做
具体如下:
1如果要声明整个应用都要加速:< lication ... android:hardwareAccelerated ="true">
2.如果要在Activity中声明,则:
<activity ... android:hardwareAccelerated="true" >
Window, getWindow.setFlags( WindowManager.LayoutParams.FL_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FL_HARDWARE_ACCELERATED);
3.如果lication或者activity都申明了要硬件加速,但是为了某些原因(比如省电?),一些View不需要硬件加速的话, view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
二、 需要在AndroidManifest.xml文件中用上<use-sdk></use-sdk>标签,而且如果是空的还不行,必须写上targetSDK或者minSDK,但是我试验过,不管写版本是多少都没有关系。理论上说,Android应该是从3.0( API Level 11)开始可以对2D渲染加速,但是我把targetSDK设置为5都可以使用的,但是这个标签不写还不行。
一般来说,上面的操作做了,就可以使用video标签播放视屏了,如果要支持全屏,还需要做一点操作: 给webview一个WebChromeClient对象,这个WebChromeClient对象需要实现onShowCustomView和onHideCustomView方法。
1、新建一个html文件,编辑其内容:
<html><head></head>
<body>
<div?id="videos"><video?src="绝对路径或者相对路径或者网络链接"?width="设置宽度"?height="设置高度"?autoplay?/>
</div></body></html>
2、WebView 中设置webview组件支持jascript脚本为true,load加载该html。
3、有很多设备开发时只有声音,没有画面,这个时候在androidmanifest.xml中添加应用程序lication中设置硬件渲染为true,在Oncreate函数中启用硬件渲染即可。说的有点含糊。