您现在的位置是: 首页 > 电脑信息咨询 电脑信息咨询

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中如何播放网络

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函数中启用硬件渲染即可。说的有点含糊。