sun*_*nny 6 fonts android textview
新行上每个单词的第一个字母被切断为我们的denealian草书字体.
看看这个用填充的图片.如果我没有使用任何填充,它就像在图2中 
这是我的代码
<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"
/>
Run Code Online (Sandbox Code Playgroud)
在这里编写帮助器是一个扩展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);
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮忙吗?
编辑
请求截图

有没有办法在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++;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |