【发布时间】:2018-08-28 14:04:39
【问题描述】:
我使用 MathJax 库在我的金融应用程序中将字符串格式化为漂亮的数学公式。它工作得很好,但我现在对代码不满意。我所做的是获取每个 mathjaxview 的实例,然后在库中使用自定义的 setText 函数,只需在源代码中:
final MathJaxView mathJaxViewStockCall = findViewById(R.id.mathjax_stock_callview_id);
final MathJaxView mathJaxViewStockPut = findViewById(R.id.mathjax_stock_putview_id);
final MathJaxView mathJaxViewD1Stock = findViewById(R.id.mathjax_stock_d1_view_id);
final MathJaxView mathJaxViewD2Stock = findViewById(R.id.mathjax_stock_d2_view_id);
String call_stock = "$\\ c = SN(d_1) -Xe^{-r(T-t)} N(d_2)$";
String put_stock = "$\\ p = Xe^{-r(T-t)} N(-d_2) - SN(-d_1)$";
mathJaxViewStockCall.setText(call_stock);
mathJaxViewStockPut.setText(put_stock);
//d1, d1 aktie
String d1_stock = "$ d_1 = \\frac{ln(S/X) + (r + \\sigma^2/2)(T - t)}{\\sigma \\sqrt {T-t}}$";
String d2_stock = "$ d_2 = \\frac{ln(S/X) + (r - \\sigma^2/2)(T - t)}{\\sigma \\sqrt {T-t}}$";
String d2_abbrev_stock = "$ = d_1 - \\sigma \\sqrt {T-t}$";
mathJaxViewD1Stock.setText(d1_stock);
mathJaxViewD2Stock.setText(d2_stock);
mathJaxViewD2AbbrevStock.setText(d2_abbrev_stock);
我想做的是在 xml 文件中使用自定义(覆盖)的 setText 方法,例如:
<io.github.sidvenu.mathjaxview.MathJaxView
android:id="@+id/mathjax_stock_callview_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
.... use the customized settext here
/>
因为那时我可以将所有 mathjax 原始公式放在 values/string-folder 中,然后通过
@string/.....
【问题讨论】: