android - 特定字体的文本从前面被截断

标签 android fonts textview

us denealian cursive font 新行中每个单词的第一个字母被截断。 enter image description here

请看这张带有填充的图片。如果我不使用任何填充,它将像图 2 中的一样 enter image description here

这是我的代码

<com.font.anything.writinghelper
    android:id="@+id/textView" 
   android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textColor="#000000"
    android:padding="20dip"
    android:textSize="60sp"
    android:text="japanese google donkey elephant ostrich"
    />

这里的 writing helper 是一个扩展 textview 的类,只是为了给文本加下划线

     protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    Rect r = mRect;
    int padding =55;
    Paint paint = mPaint;
    int count = getLineCount();
    for (int i = 0; i < count; i++) {
    int baseline = getLineBounds(i, r);
    canvas.drawLine(r.left - padding, baseline, r.right + padding,
            baseline, paint);
    }
    super.onDraw(canvas);
}

有人能帮忙吗?

编辑

要求截图

enter image description here

有没有办法在 TextView 的左侧放置一些额外的空间?

最佳答案

最后我解决了这个问题。这是一个字体问题,我不确定它是否可以通过任何其他方式解决。所以我所做的是,首先获取 TextView 布局并获取结束和开始每行并因此在每行中获取字符串。现在在每行前面附加空格。这是完整的代码。可能会帮助其他人。

    ArrayList<String> lines = new ArrayList<String>();
    ArrayList<String> newLines = new ArrayList<String>();
    String line="";
    String text = getText().toString();
    Layout layout = getLayout();
    int start=0;
    int end;

    for (int i=0; i<count; i++) {
        end = layout.getLineEnd(i);

        lines.add(text.substring(start,end));
        line = lines.get(i);
        start = end;
        String nwText = "";
        nwText = " "+ line+" ";
        newLines.add(nwText);
    }
    Paint mPaint = getPaint();
    int i = 0;
   // String[] textLines = Results.split("\\n+");
    //float textsize = getTextSize();

    for (String textLine : newLines)
    {
       // mPaint.setTextSize(textsize);
        int baseline = getLineBounds(i, r);
        canvas.drawText(textLine, 0, baseline, mPaint);
       i++;
    }

关于android - 特定字体的文本从前面被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28576797/

相关文章:

html - 为什么我的 Font Awesome 图标不居中?

javascript - 比较 HTML5 Canvas 中的两种字体

java - 每行带有 TextView 和 EditText 的 ListView

android - 为什么 gettag() 的值在 textview 的 onclicklistener 上变为空?

android - 使用没有 Activity 的服务的媒体按钮(耳机 Hook )的监听器

android - 使用 android ndk 项目构建其他库

android - 动态缩放文本以确保它适合单行 TextView

javascript - 如何添加带有下一个、上一个和关闭按钮的搜索栏来搜索 html 主页面中的文本

android - 网页 View 更改字体? _安卓

android - 如何更改我的其中一个 EditText 的文本选择 handle 的颜色?