Foa*_*Guy 11 android italic typeface
我在应用程序中使用自定义View组件,通过Paint/Canvas在屏幕上绘制一些文本.
我使用以下代码(在调用canvas.drawText()之前)使我的文本斜体:
mPaintText.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC));
Run Code Online (Sandbox Code Playgroud)
这适用于三星Galaxy Nexus.但在三星Epic 4g(Galaxy S),三星Epic Touch(Galaxy SII)和三星变换超我的文字仍然是非斜体.
有谁知道为什么这些三星设备中的一些不支持这样设置斜体文字?我知道这些设备能够呈现斜体文本,因为如果我有TextView,我可以使用它们
tv.setText(Html.fromHtml("<i>sometext</i>");
Run Code Online (Sandbox Code Playgroud)
在java或
android:textStyle="italic"
Run Code Online (Sandbox Code Playgroud)
在layout.xml中,我的文本显示为斜体.
有没有人知道另一种方法,我可以设置canvas的drawText()方法来绘制可能在这些设备上工作的斜体文本?
编辑:
以下列出了我尝试过的一些方法以及之后的评论结果.事实证明,SERIF似乎是唯一可以使用的字体.
mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC) //Nothing
mPaint.setTypeface(Typeface.create(Typeface.DEFAULT_BOLD, Typeface.ITALIC) //Nothing
mPaint.setTypeface(Typeface.create(Typeface.SERIF, Typeface.ITALIC) //omg it is italic...But serifs look gross.
mPaint.setTypeface(Typeface.create(Typeface.SANS_SERIF, Typeface.ITALIC) //Nothing
mPaint.setTypeface(Typeface.create(Typeface.MONOSPACE, Typeface.ITALIC) //Changes font, but still no italic.
mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD_ITALIC) //Bold but no italic
Run Code Online (Sandbox Code Playgroud)
再次编辑:为了实现此功能,我最终将roboto字体的斜体版本添加到我的assets文件夹并将其应用为字体.如果有人找到一种方法让它工作而不用这种方式添加它,我仍然会感兴趣.
| 归档时间: |
|
| 查看次数: |
4491 次 |
| 最近记录: |