我想为数学创建特殊字符,用于 android 应用程序。
而且我想知道是否可以将一个字符覆盖在另一个字符之上,或者是否可以对文本的呈现方式进行一些精细控制(以及您如何去做)。
问问题
480 次
4 回答
8
如果您需要一种显示数学方程式的通用方法,请查看jqMath。我认为您可以使用WebView
.
许多数学符号都有 Unicode 代码点。具体来说,圆圈内“+”符号的 Unicode 代码点是 U+2295。如果字体支持,它们可以直接渲染。有关具有相应 Unicode 代码点的一些数学符号的列表,请查看此 Wikipedia 文章。
另请查看此问题以获取在 Java 中使用 MathML 的资源。
于 2012-12-21T09:26:10.287 回答
1
我将扩展 View 类,然后使用您在 onDraw 方法中收到的 Canvas 对象的 drawText 方法。听起来您需要对绘制文本的坐标进行精细控制,而扩展 View 将为您提供这一点。看看 Canvas.drawText ,您可以根据需要使用 x 和 y 坐标来覆盖文本。
于 2012-12-25T02:13:58.210 回答
0
试试这个:
这样您就可以添加上标文本:
TextView out_unit2 = (TextView) findViewById(R.id.out_unit2);
out_unit2.setText((Html.fromHtml("meter<sup><small>2</small></sup>")));
下标文字:
TextView out_unit2 = (TextView) findViewById(R.id.out_unit2);
out_unit2.setText((Html.fromHtml("meter<sub><small>2</small></sub>")));
您可以使用它在代码中添加尽可能多的内容。
希望它可以帮助你。
谢谢。
于 2012-12-12T12:01:36.950 回答
0
它可能很快就会变得非常混乱,但是您可以使用 FrameLayout 和内部的几个 TextView 来完成它。例如,“0”的 XML 与“+”、上标“+”和下标“-”重叠:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textSize="@dimen/title_bar_font_size" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:textSize="@dimen/title_bar_font_size" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:textSize="12sp"
android:layout_marginLeft="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:textSize="12sp"
android:layout_marginLeft="12sp"
android:layout_gravity="bottom" />
</FrameLayout>
导致:
于 2012-12-20T21:15:06.400 回答