android 显示数学函数,MathView,在Android应用中,显示数学公式的库,下载MathView的源码_GitHub_开发99...

MathView

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f416e64726f6964253230417273656e616c2d4d617468566965772d627269676874677265656e2e7376673f7374796c653d666c6174

68747470733a2f2f6170692e62696e747261792e636f6d2f7061636b616765732f6b6578616e69652f6d6176656e2f4d617468566965772f696d616765732f646f776e6c6f61642e737667

MathView 是第三方视图库,它可以帮助你更轻松地在Android应用程序上显示数学公式。 两个渲染引擎可用:MathJax 和 KaTeX。 支持Android版本 4.1 ( Jelly Bean ) 和更新版本。

screenshot.png

设置

在 Android Studio 中,可以通过两种方式将 MathView 添加到项目中:从远程 Maven 存储库( jcenter )。

从本地. aar 文件中。

1从远程 Maven 存储库( jcenter ) 安装

添加 compile 'io.github.kexanie.library:MathView:0.0.6' 为你收费的模块 build.gradle 文件中的 dependencies dependencies。 例如:dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')

compile 'com.android.support:appcompat-v7:23.0.0' compile 'io.github.kexanie.library:MathView:0.0.6'}

2从本地. aar-文件设置

你可以从 Bintray 下载最新版本的MathView。从本地. aar 文件导入 MODULE

单击 File -> New -> New Module ( 是,不是 import Module ) -> Import. JAR/.AAR Package ,并找出文件所在的位置。添加依赖项

单击 File -> Project Structure -> Dependencies ,然后单击加号 icon,选择 3. Module Dependency。用于 Eclipse 用户的

迁移到 Android Studio。

用法

除了将代码自动呈现为数学公式外,MathView的行为几乎与 TextView的行为是一样的。 请看一下这个教程,了解基本教程和快速参考。

小心应将公式括在 (...) 中,而不是用 $...$ 来包含 inline 公式。

你需要在Java代码中转义空格。引号等空格字符。

如果要使 MathView的高度实际为 wrap_content,请将视图扭曲为 NestedScrollView。

引擎

在移动环境中KaTeX比MathJax快,但是MathJax支持更多的特性,而且更漂亮。 选择适合你需要的东西。

在布局文件中定义 MathView

例如:

android:id="@+id/formula_one"android:layout_width="match_parent"android:layout_height="wrap_content"auto:text="When (a ne 0), there are two solutions to (ax^2 + bx + c = 0)and they are $$x = {-b pm sqrt{b^2-4ac} over 2a}.$$"auto:engine="MathJax">

android:id="@+id/formula_two"android:layout_width="match_parent"android:layout_height="wrap_content"auto:engine="KaTeX">

从你的Activity 获取一个实例publicclassMainActivityextendsAppCompatActivity {

MathView formula_two;

String tex ="This come from string. You can insert inline formula:"+" (ax^2 + bx + c = 0) "+"or displayed formula: $$sum_{i=0}^n i^2 = frac{(n^2+n)(2n+1)}{6}$$";

@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

@OverrideprotectedvoidonResume() {

super.onResume();

formula_two = (MathView) findViewById(R.id.formula_two);

formula_two.setText(tex);

}

}

注意到 MatView.getText() 将返回原始的TeX代码( Java String )。

配置

我不是MathJax的专家。 我没有提供MathJax的预先配置版本,而是选择将另一个方法 config() ( 仅适用于 MathJax ) 添加到版本 0.0.5 中的MathView。 你可以用更复杂的配置来调整 MathJax。 例如要启用自动换行,可以调用MathView.config("MathJax.Hub.Config({n"+" CommonHTML: { linebreaks: { automatic: true } },n"+""HTML-CSS": { linebreaks: { automatic: true } },n"+" SVG: { linebreaks: { automatic: true } }n"+"});");

在 setText() 之前。

工作原理

MathView 继承自 Android WebView,并使用 javascript (。MathJax 或者 KaTeX ) 进行渲染。 另一个库调用块只是一个轻量级的Java模板引擎,用于将TeX代码填充到html文件中。 所以我们可以把它呈现出来。 它还是相当原始的但至少是功能上的。 检查代码以获得更多详细信息。

已知问题当使用MathJax呈现时,由于 WebView 中的MathJax Bug,某些字符是空白的( 像字符'b'黑板粗体字)。

并非所有TeX命令都支持 KaTeX,请检查这里链接以获得更详细的信息。

反馈

如果你有任何问题或者需要帮助,请不要犹豫创建一个问题票。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值