我想爲android應用程序創建數學的特殊字符。
我想知道是否可以將一個字符疊加在另一個字符之上,或者如果對文本呈現的方式進行了很好的控制(以及如何執行此操作)。Android - 文本上可以疊加文本嗎?
回答
如果你需要一個一般方法來顯示數學方程,看看jqMath。我認爲你可以使用WebView
來呈現它。
許多數學符號都有Unicode代碼點。具體來說,圓圈內的符號「+」的Unicode代碼點是U + 2295。如果字體支持它們,它們可以直接渲染。有關具有相應Unicode代碼點的一些數學符號的列表,請檢查this Wikipedia article。
另請參閱this question以瞭解Java中使用MathML的資源。
就在當場!我會學習thos來源,謝謝。好賺的賞金! – ilomambo
試試這個:
這種方式,您可以添加標文本:
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>")));
您可以使用此儘可能多的添加到您的代碼。
希望它可以幫助你。
謝謝。
我目前不在我的開發計算機。你能否在同一文本上給出上標和下標的例子,並且兩者是否對齊?另外,它如何解決覆蓋文本覆蓋文本的一般問題?我給出的例子只有2個,我需要一個通用的解決方案。 – ilomambo
這並不回答一般問題,而是爲兩個特定情況提供了一種可能的替代方案。 –
它可能真的很亂,但你可以用FrameLayout和幾個TextViews來完成它。例如,XML爲 「0」 重疊於 「+」,上標 「+」 和下標 「 - 」:
<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>
,導致:
這看起來很複雜。我無法想象必須在XML中定義每個數學synbol/glyph。此外,我需要它是動態的,因爲用戶將鍵入數學。它不是我必須顯示的靜態字符串。 – ilomambo
我會擴展View類,然後在onDraw方法中使用Canvas對象的drawText方法。這聽起來像你需要精確控制文字的繪製位置和擴展視圖會給你這樣的座標。看看Canvas.drawText,你可以根據你的需要使用x和y座標疊加文本。
非常感謝您的意見。我正在考慮做類似的事情,但Dheeraj的回答給了我一個可以呈現Mathtml的庫,這是一個標準,而且解決方案比繪製自己更好(更容易)。所有我需要編寫的數學應該在Mathtml中有一個代碼。 – ilomambo
- 1. CSS可以自動添加文本嗎?
- 2. CSS3可以添加文本漸變嗎?
- 3. 疊加在文本框中的文本
- 4. 在Android上避免RelativeLAyout文本重疊
- 5. Android在適配器上重疊文本
- 6. 可以擴展文本框以輸入多行文本嗎?
- 7. 我可以疊加精靈圖像上的文字嗎?
- 8. 我可以將一個mp3文件轉換爲ANDROID文本嗎?
- 9. Cufon文本疊加Fancybox
- 10. 如何疊加文本
- 11. 在Solr中加載時可以解析文本文檔嗎?
- 12. 可以從文本文件加載php函數嗎?
- 13. 你可以獲得文本值的上下文嗎?
- 14. Python程序可以在Web上打開文本文件嗎?
- 15. 文本堆疊在其本身之上
- 16. 在視頻上疊加動態文本和圖像android
- 17. 在Android上的複選框頂部疊加文本
- 18. 在Android上錄製文本/圖像疊加層
- 19. Android文本在地圖疊加層上消失
- 20. 添加超鏈接到可摺疊樹上的節點文本
- 21. 重疊文本
- 22. 垂直文本和並列文本可以並排嗎?
- 23. XSLT可以解析一串文本嗎?
- 24. Flash可以顯示UTF-8文本嗎?
- 25. 年份文本框可以有date_select嗎?
- 26. 當用戶從Android的書面文本中的EditText中選擇文本時,我可以獲取文本嗎?
- 27. 添加文本在javascript疊加
- 28. 可以ZODB文本
- 29. Android:在文本視圖中添加複合可繪製圖像上的文本
- 30. 可以像日文劇本那樣垂直寫文字嗎?
你能舉一些例子嗎? –
@PratikSharma是的,很多例子中,我希望下標和上標在同一個水平起點上對齊。或者我想通過渲染一個圓圈和一顆星星來創建一個特殊的內部乘法符號。 – ilomambo
請參閱我爲此發佈的解決方案。讓我知道你是否需要我的更多幫助。 –