精华内容
下载资源
问答
  • HighlightTextEditor是一个安卓代码语法高亮控件,目前已经支持200多种语言,近90多种主题配色方案,同时支持lua扩展,以及自定义语言配置。强烈推荐,一款不可多得的开源控件。 支持的语言: abap4.lang ...
  • #前端html,css,js,jq#为什么下面这个富文本编辑器安卓手机不能上传图片?(pc端和苹果手机能正常上传) 编辑器地址:http://www.jq22.com/jquery-info657
  • PDF是使用率越来越普遍的便捷式文档格式,他的安全性还有文件大小方面都是无可...使用工具:smallpdf转换1、打开转换,在【pdf转换成其他文件】功能后再点击下方“文件转HTML”选项pdf转html图12、下面我们点...

    PDF是使用率越来越普遍的便捷式文档格式,他的安全性还有文件大小方面都是无可挑剔的,但是它也有缺点就是不能够随我们心意的进行编辑。那有些编程网页的初学者想要对pdf文件进行编辑该怎么办呢?如何把PDF文件转换成html?下面我就将具体的操作分享给大家吧。

    使用工具:smallpdf转换器

    1、打开转换器,在【pdf转换成其他文件】功能后再点击下方“文件转HTML”选项

    a45fc8d76fd29a7a885fd405d2478e4d.png

    pdf转html图1

    2、下面我们点击下方的“添加文件”,找到我们要转换的文件位置然后将其添加需要转换成的转换列表。

    0895a8f89f376776aa70c746295c2eef.png

    pdf转html图2

    3、在输出目录中选择转换后文件的储存位置,可以储存在原文件夹中,也可以自定义储存路径。

    f128495444898b685f96f159d8934467.png

    pdf转html图3

    4、文件添加好后我们点击“开始转换”

    e7ad02ee689bb9f87782d9b67ad845e1.png

    pdf转html图4

    5、等转换完成后,我们点击右上角的“输出”就可以看到我们转换后文件的位置,随后就打开我们所转换后的HTML网页,下面就来看一下与原文件的对比效果吧。

    7655dfce329e57146451258a7ced0350.png

    怎么样是不是很简单呢?如果你在转换成过程中遇到问题可以给我留言。

    展开全文
  • 每章中的实例通过我们的“亲自试一试”编辑器,您能够修改所有实例并查看结果。点击这里,显示日期和时间!通过实例来学习例子胜过千言万语。实例比文字解释更容易理解。本手册为所有讲解内容增补了相应的“亲...

    JavaScript 手册

    JavaScript 是属于 HTML 和 Web 的编程语言。

    编程令计算机完成您需要它们做的工作。

    JavaScript 很容易学习。

    本手册涵盖 JavaScript 基础和高级。

    每章中的实例

    通过我们的“亲自试一试”编辑器,您能够修改所有实例并查看结果。

    点击这里,显示日期和时间!

    通过实例来学习

    例子胜过千言万语。实例比文字解释更容易理解。

    本手册为所有讲解内容增补了相应的“亲自试一试”实例。

    JavaScript 实例

    提示:如果能够测试所有实例,那么您将在短时间内学到关于 JavaScript 的大量知识。

    为何学习 JavaScript?

    JavaScript 是 web 开发者必学的三种语言之一:HTML 定义网页的内容

    CSS 规定网页的布局

    JavaScript 对网页行为进行编程

    本手册提供关于 JavaScript,以及 JavaScript 如何与 HTML 和 CSS 协同工作的知识。

    您知道吗?

    JavaScript 和 Java 是完全不同的语言,不论是概念还是设计。

    JavaScript 在 1995 年由 Brendan Eich 发明,并于 1997 年成为一部 ECMA 标准。

    ECMA-262 是其官方名称。ECMAScript 6 (发布于 2015 年)是最新的 JavaScript 版本。

    展开全文
  • notepad++中文官方精简优化由E剑忠晴制作,这款软件运行便携,体积...notepad++精简优化特点:去除多余语言包(仅保留简体中文)去除自动更新去除无用组件3 C官方介绍:Notepad++ 是一款非常有特色的编辑器,是开...

    notepad++中文官方精简优化版由E剑忠晴制作,这款软件运行便携,体积小巧、资源占用小,支持众多程序语言,比如C++、C#、Java等主流程序语言;支持HTML、XML、ASP,Perl、Python、JavaScript等网页/脚本语言。

    notepad++精简优化版特点:

    去除多余语言包(仅保留简体中文)

    去除自动更新

    去除无用组件3 C

    官方介绍:

    Notepad++ 是一款非常有特色的编辑器,是开源软件,程序员必备的文本编辑器,软件小巧高效,支持27种编程语言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等。

    主要功能:

    Notepad++ 内置支持多达27种语法高亮度显示(包括各种常见的源代码、脚本,能够很好地支持。nfo文件查看),还支持自定义语言。

    可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,还可显示缩进引导线,代码显示得很有层次感;

    可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例;

    提供了一些有用工具,如邻行互换位置、宏功能等;

    可显示选中文本的字节数 (而不是一般编辑器所显示的字数,这在某些情况下,比如软件本地化很方便)。

    Notepad++特色:

    Notepad++是旨在替代Windows默认的notepad而生,比notepad的功能强大很多很多。

    (1)Notepad++的版本:ANSI和Unicode

    Notepad++有两个版本,一个是ANSI版本,一个是UNICODE版本。

    对于大多数人把Notepad++作为notepad的增强版,而需要的普通应用的话,ANSI版本和UNICODE版本,其实没啥差别。

    (2)Notepad++支持丰富的插件

    notepad++支持插件,添加对应不同的插件,以支持不同的功能。里面除了一些常见的插件之外,还有一些好玩的插件,比如将文字读出来的speech插件。

    (3)Notepad++特点概述

    Notepad++属于轻量级的文本编辑类软件,比其他一些专业的文本编辑类工具,比如UltraEdit等要启动更快,占用资源更少,但是从功能使用等方面来说,不亚于那些专业工具,而windows默认的notepad虽然更“轻量”,但是功能就太少。所以一般用notepad++,或者另一个工具notepad2来代替notapad,同样也代替太复杂和庞大的UltraEdit。

    个人的使用体会和使用心得:

    【查看当前notepad++的版本】

    查看自己当前Notepad++是什么版本的话,点击工具栏上的 ?-> About Notepad++,弹出对话框会显示“Notepad++ v5.8.6 (ANSI)”字样,其中(ANSI)即代表当前是ANSI版本。

    个人觉得一些好用,值得一提的特性是:

    1.支持语法高亮和颜色自定义

    关键是支持的语言狂多,除了常见的c/c++,java,php,而且还支持python和xml。

    而且对于xml,还支持点击关键字可以展开或收缩,很是方便。后来得知,这个特性叫做代码折叠,囧。。。

    还支持makefile,这样对于查看makefile文件的的话,就很方便了。

    而且甚至连一般人不常用的Tex/LaTex的语法高亮,都支持了,很强大。

    对于语法高亮时显示的颜色,也可以自定义,点击:

    Settings -> Style Configurator

    就可以根据自己需要配置不同的颜色了。

    【自定义除默认后缀之外的其他后缀文件为某类型文件以实现语法高亮】

    而且对于不同类型的文件的后缀,除了默认的文件后缀之外,设置自定义的文件后缀,比如我遇到的,对于普通的makefile,其默认的后缀是是.mak,而我此处自己的.mk也是makefile文件,所以可以通过这样来设置:

    Settings -> Style Configurator -> 在Language中下拉找到Makefile,选择makefile,左下角会出现:

    Default ext. 和user ext.,默认的扩展名(default extension)即后缀名.对应的是.mak,在user ext.所对应的框中填写.mk,

    然后点击右边的 Save&Close,就可以实现notepad++自动识别.mk文件为makefile文件,然后引用对应的语法高亮了。

    当然,如果不设置的话,单独打开.mk类型文件,notepad++虽然不会自动识别,没有语法高亮,但是也可以自己手动选择的:

    language -> M -> Makefile,即可实现同样的功能,只是要麻烦自己每次都要手动设置而已。

    2.添加hex editor插件以支持16进制编辑

    notepad++支持添加HEX-Editor插件以支持16进制的查看与编辑,很是方便。

    【Hex Editor插件的添加方法】

    先通过上面的【查看当前notepad++的版本】的方法得知你自己的notepad++是ANSI还是UNICODE方法,

    然后根据上面的 【notepad++插件添加方法】去Notepad++插件的官网,找到并下载对应版本的Hex Editor,把插件文件HexEditor.dll,放到NotePad++路径下的 npp.5.8.6.bin\ansi\plugins文件夹里面即可。

    当前也可以通过上面介绍的插件管理器,直接通过软件帮你自动下载并安装。

    然后重启notepad++,就可以在Plugins中看到对应的Hex-Editor插件了。

    值得一提的是,当前的最新版本(5.8.7)还支持了添加插件后,对应地在工具栏上也添加一个快捷图标,对于HexEditor来说,就是一个大写的H的图标,点击该图标,即可实现16进制查看,再次点击,又恢复到正常模式,很是方便。

    3. 支持列模式编辑

    按住Alt之后,就处于列模式了,然后比如你选取一列,然后点击右键,选中删除,就可以删除那些列了,松掉ALT就离开了ALT恢复普通模式了。非常好用,越来越觉得notepad++牛X了,啥功能都支持啊。。。

    列操作模式中的在整个列中,整个都插入一些内容的话,可以这样操作:

    Edit -> Column Editor (Alt C)

    然后在Text to insert或Number to insert对应的的框中写入要插入的内容,notepad++就会自动帮你插入整列的对应的内容了。

    4.选中某单词即关键字后,notepad++会自动高亮对应选中的关键字,对于文件查看来说,很是方便。

    5.打开多个文件的时候,上面会显示对应的Tab,默认的话,双击Tab是不能像其他一些工具一样关闭该文件的,但是可以设置的:

    Settings-> Preference ->General -> Tab Bar中,选中:

    Double Click to close document, 然后双击对应文件的tab就可以关闭文件了。

    类似地,还有个选项:show close button on each tab,选中后,每个tab上会出现关闭按钮,也很方便使用。

    6。显示文件行号:Settings-> Preference ->General -> Editing-> 选中Display Line Number,即可显示行号

    7.是否打印行号:Settings-> Preference ->General -> Printing-> 是否选中Printing Line Number,默认是不选的,如果需要,可以选中,这样打印时候就可以也打印行号了,还是很方便用户根据自己需要而去设置的。

    8.编辑文件后,是否备份:类似Ultra Editor,编辑一个文件后,默认会生成.bak文件的,对于notepad++来说,也是支持此功能的,不过默认是关闭的。需要的话,可以去这里设置:Settings-> Preference ->General -> Backup/Auto-completion -> 默认是None,其他还有Simple和verbose backup,可以根据自己需要而设置。

    9.自动完成功能:Settings-> Preference ->General -> Backup/Auto-completion,自动完成:Auto-Completion,可以根据自己需要而设置,默认是关闭的。

    10.选中某文字,然后调用google搜索:

    run -> google search

    除了google搜索此项功能,于此相关类似的还有,选中文字后,调用其他程序或功能,比如直接调用wiki查询该单词/文字:

    run -> wikipedia search

    或者直接从notepad++中打开当前文件所在文件夹:

    run -> open containing folder

    从notepad++中打开windows的cmd,并且已经处于当前文件夹:

    run -> open current dir cmd

    直接把该文件作为附件,然后打开Windows的Outlook发送邮件

    run -> send via Outlook

    等等,都是非常实用好用的功能。

    11.暂时隐藏某些行

    如果在查看文件的时候,暂时觉得需要将某些行隐藏掉,在需要的时候再正常显示,就可以先选中那些行,然后:

    View -> Hide Lines

    即可。然后左边标签那列就会显示对应的标示,点击即可取消隐藏。

    12.支持鼠标滚轮控制缩放

    notepad++不仅支持快捷键Ctrl + Num+/Num- 去控制缩放,而且还支持Ctrl+鼠标滚轮去控制当前显示内容的缩放,很是方便。

    13.全屏显示

    有时候显示文档的话,希望显示更多的内容,希望用到全屏显示,通过view -> Toogle Full Screen Mode F11或者Post it F12,都可以实现全屏显示,也很是方便。

    14.集成了轻量级的资源管理器

    通过安装插件(默认好像是已经安装了)LightExplorer后:

    Plugins -> Light Explorer -> Light Explorer,就可以在左侧打开一个轻量级的资源管理器,方法打开想要打开的文件,很是方便啊。

    15.导出成其他类型文件 -> 实现彩色代码的粘贴

    在添加了对应的NppExport插件后,就可以导出成不同的格式,比如HTML和RTF:

    plugins -> NppExport -> Export to RTF或Export to HTML

    其中HTML就是普通的HTML,RTF就可以理解为简洁版本的word,所以html和rtf,两者都是支持彩色代码/字符的,因此,这个功能就可以实现我们所需要的,将已经高亮显示,彩色显示,着色后的代码,导出到word或者其他文档中了。这样的功能,是很实用的。至少我个人觉得很好用,比如将一些C代码打开后,导出成html,然后打开html复制内容后粘贴到word里面,就是彩色的代码了。当然,你也可以导出成rtf,然后本身就是和word兼容的,windows下,也就是默认用word打开的了,就省去了从html拷贝粘贴过来的步骤了。

    甚至,NppExport还提供了更方便的功能:

    plugins -> NppExport -> Copy HTML to clipboard 或Copy RTF to clipboard

    即,直接选择内容后,拷贝该内容到剪贴板,然后你就可以在其他word文件中直接粘贴了,即如此简单地就实现了彩色代码的支持,多么爽啊。

    16.代码折叠

    包括对C/C++等代码,可以以单个函数为整体进行代码的折叠和展开,其他的类型的,比如XML,根据关键字所包含的内容为整体进行折叠和展开等等。

    17.资源管理器中,右键点击文件,可以直接用notepad++打开该文件

    这个功能类似于UltraEdit,在资源管理器中添加了右键支持,右键点击某文件后,会出现“Edit With Notepad++”,就可以直接用notepad++打开该文件了,个人觉得这个功能还是很实用的。

    18.Ctrl+Tab实现在多个打开的窗口间切换

    19. 支持设置是否显示列边界(右边线)

    设置->首选项->编辑->列边界,可以设置是否显示列边界,而且也支持自定义“边界宽度”的大小,默认是100。

    (注:一般Linux下面常用的是80.)

    而且对于列边界显示模式,还支持两种:

    一种是从上到下的竖边线:

    另一种是把超过列边界的内容加上一定的底色:

    20.可以给代码批量添加或取消注释

    选中一段代码,然后:编辑 -> 注释/取消注释 -> 添加/删除单行注释,即可批量地队选中的每一行,添加或者删除注释。

    此功能,对于常写代码的人来说,还是很实用的。

    更新日志:

    v7.5.8

    1.删除恼人的“无更新”通知。

    2.Fix Folder as Workspace不更新回归。

    3.通过选中和取消选中首选项对话框中的“禁用扩展列”选项来修复崩溃问题。

    4.尝试使用命令行参数启动辅助实例时修复崩溃。

    5.如果文件夹名称包含逗号,则从“文件夹作为工作区”问题修复“Explorer Here”。

    展开全文
  • 通过该软件自带的视频编辑器,您可以对视频进行截取、裁剪、调整亮度和对比度等操作。这样,通过您事先编辑,转换后的视频能进一步贴合您的需求。 兼容各类视频播放器 提供多种转换格式,兼容各类数码产品播放器 ...
  • 解决安卓4.4webview的兼容性问题

    万次阅读 2015-07-16 12:53:55
    放弃WebView,使用Crosswalk做富文本编辑器 原文链接:http://www.cnblogs.com/ct2011/p/4100132.html 为什么放弃WebView Android WebView做普通浏览还好,做富文本编辑器,常常会遇到各种奇葩的bug,而且很...

    放弃WebView,使用Crosswalk做富文本编辑器


    原文链接:http://www.cnblogs.com/ct2011/p/4100132.html

    原文链接:http://segmentfault.com/a/1190000002919135

    为什么放弃WebView

    Android WebView做普通浏览还好,做富文本编辑器,常常会遇到各种奇葩的bug,而且很难修复。尽管Google在版本迭代中不断修复bug,但依旧没法用它来做富文本编辑。

    Kitcat的改变

    Google为了加强WebView的功能,在Kitcat引入了Chromium内核。但还是存在着编辑的bug。

    我所知道的一个bug是:

    Kitcat版WebView在删除Html标签时处理不好,例如 <img>标签,就无法删除。点击删除时直接越过此元素,将光标定位在图片前方,对图片不做处理。

    当然,这个bug在Android 5.0 修复了。

    Lollipop新策略

    Although WebView has been based on Chromium since Android 4.4, the Chromium layer is now updatable from Google Play.As new versions of Chromium become available, users can update from Google Play to ensure they get the latest enhancements and bug fixes for WebView, providing the latest web APIs and bug fixes for apps using WebView on Android 5.0 and higher.

    可见在Lollipop里,可以通过GooglePlay来更新Chromium内核。

    但是问题来了:

    • 国内容易更新么?
    • 如果不是自动更新,用户会手动更新么?当然GooglePlay是自动更新,那国内手机没有自己市场的厂商呢?
    • Lollipop以前的版本怎么办? Lollipop目前只有很少用户可以更新。

    探索新的富文本编辑方案

    显然,即便是有了Lollipop的解决方案,但问题依然很多。我们还是需要一个替代方案,来保证我们在所有的Android手机上表现一致。

    这个方案就是在应用中集成Chromium。

    由于自己编译Chromium的难度较大,于是转而寻找编译好的Chromium库来使用。

    需要声明的是:Chromium内核只能在Android 4.0以上才能使用,之后提到的所有Chromium库都只能在4.0以上平台使用。

    过渡方案

    最初在寻找替代方案的时候,应该是2013年10月左右,找到了两个Chromium库:

    1. chromeview

      这个库封装的较好,但是有一个致命的bug是不能滚动。

      README中声明:

      Attempting to scroll the view (by swiping a finger across the screen) does not update the displayed image.

      However, internally, the view is scrolled.

      This can be seen by displaying a stack of buttons and trying to click on the topmost one.

      This issue makes ChromeView mostly unusable in production.

      注:这个库的README最新声明里面推荐了Crosswalk,作者还是很用心的。

    2. android-chromium

      这个库整体稳定,不存在上面的bug。用它作为编辑器差不多一年,没有出现什么问题。

      但在今年6、7月的时候,突然间发现在三星新出的几款平板上(搭载了Kitcat)表现为花屏,屏幕上出现了各种颜色的横条,无法进行编辑。其他搭载了Kitcat的手机当时没有发现过什么问题。

      这里说一下这个库,自从作者看到Kitcat使用Chromium后,作者就声明不再更新了,其实差不多一年前就已经不更新了。

      这个库使用起来比较麻烦,需要自己再进行封装,甚至连onPageFinished都需要自己来做。

    可以看到,上面的替代方案,到今年6、7月,实际上已经无法使用。

    而且非组织维护的代码,通常都有些不可靠的意味。

    于是不得不继续寻找替代方案。终于在Google I/O上看到了希望 —— Crosswalk

    Crosswalk入门

    上面的链接可以看到Crosswalk的介绍,Crosswalk种种吹牛逼的描述我就不写了。写一下我的使用感受:

    1. 不用费力搞什么自己封装了,直接像用WebView一样使用。
      在使用android-chromium这个库时,不仅要自己封装API来方便使用,还要操心Chromium的初始化,甚至还需要在清单文件里写一堆关于Chromium的东西,用来帮助Chromium建立单独的进程(Crosswalk只会创建Chromium的线程,不需要独立进程)。
    2. Crosswalk由组织维护,比个人维护强多了。
    3. 跟随最新的Chromium不断更新,js等不用担心有函数没法使用。而且不断更新过程中,肯定也会修复以前存在的bug,稳定性也是不用担心的。

    最新稳定版Crosswalk基于Chromium38编译。

    注:此库也可以配合Cordova(PhoneGap)使用。

    OK,感受说完,上教程。

    集成到应用中

    1. 下载zip包,解压后导入。
    2. 关联此Library。
    3. 在清单文件中写入下列权限

      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
      <uses-permission android:name="android.permission.CAMERA" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
      <uses-permission android:name="android.permission.RECORD_AUDIO" />
      <uses-permission android:name="android.permission.WAKE_LOCK" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

      注:使用过程中,观察Logcat可以看到报需要蓝牙权限,可以不用管它,不添加蓝牙权限可以正常使用。此外,使用XWalkView必须开启硬件加速。

      XWalkView needs hardware acceleration to render web pages. As a result, the AndroidManifest.xml of the caller's app must be appended with the attribute "android:hardwareAccelerated" and its value must be set as "true".

      android:hardwareAccelerated : The default value is "true" if you've set either minSdkVersion or targetSdkVersion to "14" or higher; otherwise, it's "false".

      在清单文件Application中声明即可。

      <application android:name="android.app.Application" android:label="XWalkUsers"
       android:hardwareAccelerated="true">

    基本使用

    Crosswalk中用来替代WebView的控件叫XWalkView。

    layout文件写法

    和其他自定义控件一样。

    <org.xwalk.core.XWalkView android:id="@+id/activity_main"
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
    </org.xwalk.core.XWalkView>

    代码中使用

    重中之重:防止内存泄漏

    和其他Android的控件不同,这个类需要监听系统事件。例如:生命周期、intent、Activity result。

    控件内置的Web引擎需要获取并处理这些信息。并且当XWalkView 不再需要使用的时候,在onDestroy方法中XWalkView必须显式的调用destroy方法,否则容易造成Web引擎的内存泄漏。

    原文如下:

    Unlike other Android views, this class has to listen to system events like application life cycle, intents, and activity result. The web engine inside this view need to get and handle them. And the onDestroy() method of XWalkView MUST be called explicitly when an XWalkView won't be used anymore, otherwise it will cause the memory leak from the native side of the web engine. It's similar to the destroy() method of Android WebView.

    这段文字来自XWalkView官方API文档。奇怪的是官方的范例中并没有在意这些事情,直接像WebView一样使用,更没有使用destroy方法。考虑到之前使用android-chromium库也是需要显式调用。这里还是加上,避免内存泄漏。

       import android.app.Activity;
       import android.os.Bundle;
    
       import org.xwalk.core.XWalkView;
    
       public class MyActivity extends Activity {
         private XWalkView mXWalkView;
         @Override
         protected void onCreate(Bundle savedInstanceState) {
       		super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mXWalkView = (XWalkView) findViewById(R.id.activity_main);
        mXWalkView.load("http://crosswalk-project.org/", null);
         }
    
         @Override
         protected void onPause() {
           super.onPause();
           if (mXWalkView != null) {
             mXWalkView.pauseTimers();
             mXWalkView.onHide();
           }
         }
    
         @Override
         protected void onResume() {
           super.onResume();
           if (mXWalkView != null) {
             mXWalkView.resumeTimers();
             mXWalkView.onShow();
           }
         }
    
         @Override
         protected void onDestroy() {
           super.onDestroy();
           if (mXWalkView != null) {
             mXWalkView.onDestroy();
           }
         }
    
         @Override
         protected void onActivityResult(int requestCode, int resultCode, Intent data) {
           if (mXWalkView != null) {
             mXWalkView.onActivityResult(requestCode, resultCode, data);
           }
         }
    
         @Override
         protected void onNewIntent(Intent intent) {
           if (mXWalkView != null) {
             mXWalkView.onNewIntent(intent);
           }
         }
       }

    loadUrl去哪了?

    上面的代码中其实已经剧透了,使用load方法即可。

    // url
    mXWalkView.load("http://crosswalk-project.org/", null);
    
    // this loads a file from the assets/ directory
    mXWalkView.load("file:///android_asset/index.html", null);

    public void load (String url, String content)

    Load a web page/app from a given base URL or a content. If url is null or empty and content is null or empty, then this function will do nothing. If content is not null, load the web page/app from the content. If content is not null and the url is not set, return "about:blank" ifi calling getUrl(). If content is null, try to load the content from the url. It supports URL schemes like 'http:', 'https:' and 'file:'. It can also load files from Android assets, e.g. 'file:///android_asset/'.

    Parameters

    url the url for web page/app.

    content the content for the web page/app. Could be empty.

    WebViewClient?

    对应WebView的WebViewClient,XWalkView中有XWalkResourceClient。

    mXWalkView.setResourceClient(new XWalkResourceClient(mXWalkView){
      @Override
      public void onLoadFinished(XWalkView view, String url) {
        super.onLoadFinished(view, url);
      }
      @Override
      public void onLoadStarted(XWalkView view, String url) {
        super.onLoadStarted(view, url);
      }
    });

    调用JavaScript

    mXWalkView = (XWalkView) findViewById(R.id.activity_main);
    XWalkSettings webSettings = mXWalkView.getSettings();
    //Tells the WebView to enable JavaScript execution. 
    webSettings.setJavaScriptEnabled(true);

    执行js

    mXWalkView.load("javascript:document.body.contentEditable=true;", null);

    当然,按照Kitcat引入的方式,使用evaluateJavascript方法也是可以的。(大神们推荐)

    JavaScript回调Java

    1. 定义js回调接口

      public class JsInterface {
        public JsInterface() {
        }
        @JavascriptInterface
        public String sayHello() {
          return "Hello World!";
        }
      }

      Caution: If you've set your targetSdkVersion to 17 or higher, you must add the @JavascriptInterface annotation to any method that you want available to your JavaScript (the method must also be public). If you do not provide the annotation, the method is not accessible by your web page when running on Android 4.2 or higher.From developer.android.com

      备注:这里的 @JavaScriptInterface所在的包是 import org.xwalk.core.JavascriptInterface;

    2. XWalkView设置JavaScript可用且绑定对象

      mXWalkView = (XWalkView) findViewById(R.id.activity_main);
      XWalkSettings webSettings = mXWalkView.getSettings();
      //Tells the WebView to enable JavaScript execution. 
      webSettings.setJavaScriptEnabled(true);
      //绑定
      mXWalkView.addJavascriptInterface(new JsInterface(), "NativeInterface");
    3. 调用html执行JavaScript或直接执行Javascript调用Java

      mXWalkView.load("file:///android_asset/index.html", null);

      index.html源码:

      <a href="#" onclick="clicked()">Say Hello</a>
      <script>
      function clicked() {
        alert(NativeInterface.sayHello());
      }
      </script>

    高级使用

    调试

    Kitcat开始,Android提供了和Chrome联调功能。可以很方便的在Chrome中调试WebView中的代码。

    Crosswalk使用Chromium内核当然也具备这个功能。

    开启调试的语句如下:

      // turn on debugging
        XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);

    对于Crosswalk来说,这个设置是全局的。

    使用动画或者设置隐藏可见注意

    默认XWalkView不能使用动画,甚至setVisibility也不行。

    XWalkView represents an Android view for web apps/pages. Thus most of attributes for Android view are valid for this class. Since it internally uses android.view.SurfaceView for rendering web pages by default, it can't be resized, rotated, transformed and animated due to the limitations of SurfaceView. Alternatively, if the preference key ANIMATABLE_XWALK_VIEW is set to True, XWalkView can be transformed and animated because TextureView is intentionally used to render web pages for animation support. Besides, XWalkView won't be rendered if it's invisible.

    开启动画模式:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
    
      // ANIMATABLE_XWALK_VIEW preference key MUST be set before XWalkView creation.
      XWalkPreferences.setValue(XWalkPreferences.ANIMATABLE_XWALK_VIEW, true);
    
      setContentView(R.layout.animatable_xwview_layout);
    }
    @Override
    public void onDestroy() {
      super.onDestroy();
    
      // Reset the preference for animatable XWalkView.
      XWalkPreferences.setValue(XWalkPreferences.ANIMATABLE_XWALK_VIEW, false);
    }

    由于设置也像调试一样是全局的,在onDestroy时记得关闭。

    暂停JS timer

    html代码

    <!DOCTYPE html>
    <html>
    <body>
    
    <p>A script on this page starts this clock:</p>
    <p id="demo"></p>
    
    <script>
      var myVar = setInterval(function(){ myTimer(); }, 1000);
    
      function myTimer()
      {
        var d = new Date();
        var t = d.toLocaleTimeString();
        document.getElementById("demo").innerHTML = t;
      }
    </script>
    
    </body>
    </html>

    XWalkView对应方法:

    mButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        if (mXWalkView != null) {
          if (!isPaused) {
            // Pause JS timer
            mXWalkView.pauseTimers();
            isPaused = true;
            mButton.setImageResource(android.R.drawable.ic_media_play);
          } else {
            // Resume JS timer
            mXWalkView.resumeTimers();
            isPaused = false;
            mButton.setImageResource(android.R.drawable.ic_media_pause);
          }
        }
      }
    });

    这也在防止内存泄漏,监听系统事件示例代码中提到过:

    @Override
    protected void onPause() {
       super.onPause();
       if (mXWalkView != null) {
         mXWalkView.pauseTimers();
         mXWalkView.onHide();
       }
    }
    
    @Override
    protected void onResume() {
       super.onResume();
       if (mXWalkView != null) {
         mXWalkView.resumeTimers();
         mXWalkView.onShow();
       }
    }

    历史记录

    mPrevButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
      // Go backward
      if (mXWalkView != null &&
        mXWalkView.getNavigationHistory().canGoBack()) {
          mXWalkView.getNavigationHistory().navigate(
            XWalkNavigationHistory.Direction.BACKWARD, 1);
      }
      XWalkNavigationItem navigationItem = mXWalkView.getNavigationHistory().getCurrentItem();
      showNavigationItemInfo(navigationItem);
        }
    });
    
    mNextButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
      // Go forward
      if (mXWalkView != null &&
        mXWalkView.getNavigationHistory().canGoForward()) {
          mXWalkView.getNavigationHistory().navigate(
            XWalkNavigationHistory.Direction.FORWARD, 1);
      }
      XWalkNavigationItem navigationItem = mXWalkView.getNavigationHistory().getCurrentItem();
      showNavigationItemInfo(navigationItem);
        }
    });
    
    
    
    private void showNavigationItemInfo(XWalkNavigationItem navigationItem){
        url = navigationItem.getUrl();// Get the url of current navigation item.
        originalUrl = navigationItem.getOriginalUrl();// Get the original url of current navigation item
        title = navigationItem.getTitle();
    
        text1.setText(title);
        text2.setText(url);
        text3.setText(originalUrl);
    }

    自动视频暂停

    // The web page below will display a video.
    // When home button is pressed, the activity will be in background, and the video will be paused.
    mXWalkView.load("http://www.w3.org/2010/05/video/mediaevents.html", null);

    loadAppFromManifest

    mXWalkView.loadAppFromManifest("file:///android_asset/manifest.json", null);

    manifest.json

    {
      "name": "ManifestTest",
      "start_url": "index.html",
      "description": "Manifest test",
      "version": "1.0.0"
    }
    

    展开全文
  • 黑马安卓52期视频教程

    热门讨论 2015-06-24 22:15:48
    01、安卓基础+JNI(14天)-------------------------- day01_Android应用开发-快速入门 01_网络制式的概念 02_android简单历史 03_Android体系结构 04_JVM和DVM的区别 05_下载SDK 06_SDK目录结构 07_模拟器的创建 ...
  • 本站之前介绍过一个Android应用源码有三种算法的文件加密项目(http://www./source/6490.html)本项目是那个项目的扩展,主要增加了一个数字签名功能。其他功能如下:加密小软件。使用的是GBK编码.该源码分为6个...
  • APP市场的火爆,让越来越多的人加入到移动互联网的淘金大军中。移动互联网的高门槛,让大多数站长因为技术...5,修复后台FCK编辑器上传图片格式不区分大小 6, 修复同步数据同一页码开始结束比较错误 7,修复其他若干BUG
  • IDEA mac快捷键全集

    2020-12-25 10:25:44
    IntelliJ IDEA 是一款功能强大的Java IDE编辑器,支持java体系的web、客户端、安卓等开发。做为一款优秀的IDE,想要提高效率,最好是记住常用的快捷键,能让你事半功倍,小编整理了IDEA所有的快捷键,让你摆脱鼠标的...
  • [精仿]QQ2013局域网通讯(10.30更新-带最新界面库)

    千次下载 热门讨论 2013-11-02 16:18:45
    3.添加Html编辑器控件 4.修复SkinButton图标和文本相对位置的BUG CC2013-9.26 1.优化好友列表CPU占用 2.好友列表加入好友登录平台属性:安卓 苹果 WEBQQ PC 3.优化标题绘制模式,新添标题绘制模式属性。 4.新添标题...
  • 13. 编辑动态面板和中继时,减少了页面标签的数量,优化编辑体验,新增隔离功能。 14. 文本字符的行距和间距的调整更加精确灵活。 15. 元件库支持导入本地图片文件夹。 16. 元件支持添加多条注释说明,在查看HTML...
  • 13. 编辑动态面板和中继时,减少了页面标签的数量,优化编辑体验,新增隔离功能。 14. 文本字符的行距和间距的调整更加精确灵活。 15. 元件库支持导入本地图片文件夹。 16. 元件支持添加多条注释说明,在查看HTML...
  • 通过在线阅读课程的页面,找到Github仓库对应的章节文件,直接在线编辑修改提交即可。 在线阅读的文章底部留言,提出问题与修改意见,我们会及时处理。 写邮件给发起人:胡凯,邮箱是kesenhoo at gmail.com,邮件...
  • Android应用开发揭秘--详细书签

    热门讨论 2012-12-12 13:27:46
    编辑推荐  国内首本基于Android 2.0的经典著作,5大专业社区一致鼎力推荐! 内容简介  国内第一本基于android 2.0的经典著作,5大专业社区联袂推荐,权威性毋庸置疑!  本书内容全面,不仅详细讲解了android框架...
  • Unity Remote使用说明

    千次阅读 2020-06-02 15:11:24
    Unity Remote是Unity公司提供的一个移动端同步调试工具,在Unity编辑器中以播放模式运行项目时,该应用程序将与Unity连接。 编辑器的可视输出被发送到设备的屏幕,实时输入被发送回Unity中正在...安卓版的要求本地有
  • 基于Android的Markdown编辑器 > 第一个版本,可能存在bug,欢迎指正 > 功能本身不难,但是细节很多 > 部分界面和功能仿未开源的MarkdownX软件 其他 用了MVP Rxjava 使用的开源库 glide rxjava butterknife ...
  • Mac os x环境配置 Android ndk 开发环境(eclipse篇)本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦: 1.请确保安卓环境已经存在 2.下载并解压最新版本ndk ...
  • 游戏用语规范讨论

    2020-12-09 07:57:28
    Editor - 编辑器 plugins - 插件脚本 Database - 数据库 Side-view Battle - 横战斗 Front-View Battle - 纵战斗 Skill Types - 技能类型 Magic Skills - 魔法技能 Battler - 战斗图 以下内容采用形如 “stage&#...
  • HadSky轻论坛 7.0.11.zip

    2019-05-28 17:49:38
    2.新增编辑器功能按钮添加功能;3.ajax报错机制调整,仅对创始人显示且不再显示无返回值的信息;4.修复默认模板首页文章列表下移的问题;5.取消掉图片加载错误显示“狗吃热狗”的功能;6.修复默认模板加载部分文章...
  • chrome.exe

    2020-04-01 09:26:11
    另有手机的Chrome浏览器,于2012年发布了Chrome浏览器移动,提供IOS系统、安卓系统以及Windows Phone系统的Chrome浏览器,在保持浏览器原有特点的情况下,实现了多终端使用浏览器,具有共享收藏历史信息等功能,...
  • •Excel中的其他选项包括插入过滤,条件格式,定义名称,导入图像,编辑图表和另存为CSV •PDF的交互式表单支持:复选框,单选按钮,文本字段等。 •旧Microsoft文档格式支持(.DOC,.XLS,.PPT)和.ODF格式 ...
  • ■ 高级文件名变更:包括正则表达式、Pascal脚本更名、文件名编辑器、汉字转拼音、文件名编码与解码、数字与汉字的转换、文件名编码格式转换、文件名内码转换、文件名加密解密等重磅功能 ■ 扩展名变更:包括智能...
  • [精仿]360安全卫士-10.30更新(CSkin Demo)

    千次下载 热门讨论 2013-11-02 16:31:28
    3.添加Html编辑器控件 4.修复SkinButton图标和文本相对位置的BUG CC2013-9.26 1.优化好友列表CPU占用 2.好友列表加入好友登录平台属性:安卓 苹果 WEBQQ PC 3.优化标题绘制模式,新添标题绘制模式属性。 4.新添标题...
  • front-end-Doc 前端文档汇总(含代码规范、开发流程、知识分享,持续更新) ...Web前端开发大系概览-中文 http://www.cnblogs.com/unruledboy/p/WebFrontEndStack.html Web Front-end Stack v2.2 ...
  • 最详细的 Vi 编辑器使用指南.epub 机器学习实战笔记.epub 来自HeroKu的HTTP API 设计指南(中文).epub 构建需求响应式亿级商品详情页.epub 架构之重构的12条军规.epub 架构师(2015年6月).epub 正则表达式简明参考...
  • 最详细的 Vi 编辑器使用指南.epub 机器学习实战笔记.epub 来自HeroKu的HTTP API 设计指南(中文).epub 构建需求响应式亿级商品详情页.epub 架构之重构的12条军规.epub 架构师(2015年6月).epub 正则表达式简明参考...
  • [精仿]360手机助手-14.2.6更新(CSkin Demo)

    千次下载 热门讨论 2014-02-19 21:28:54
    3.添加Html编辑器控件 4.修复SkinButton图标和文本相对位置的BUG CC2013-9.26 1.优化好友列表CPU占用 2.好友列表加入好友登录平台属性:安卓 苹果 WEBQQ PC 3.优化标题绘制模式,新添标题绘制模式属性。 4.新添标题...
  • ✅ 微信公众号 Markdown 编辑器 - OpenWrite:Markdown 微信编辑器是一款专业强大的微信公众平台在线编辑排版工具,提供手机预览功能,让用户在微信图文 、文章、内容排版、文本编辑、素材编辑上更加方便 - 更多介绍...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

安卓版html编辑器