自定义RichTextField的drawText方法如何根据文字大小换行

原创 2011年01月21日 11:55:00

可能标题很模糊,唉,我也说不清怎么表达。如果光是继承RichTextField,直接setText(str)就可以达到自动换行的效果。

但是我这里要用到drawText的方法,因为我需要我的文字显示在指定的x,y点上,并且还要画些东西,这样就不能用setText(),好像setText()是默认0,0,而且

drawText()无法自动换行?如果看官觉得我此文有误,请留言给我。

 

没有花太多时间去确认这个,我直接采用算像素,然后判断是否超过长度,超过则再次drawText。

Feelsina.twfont为str中单个汉字的最大像素。

 

//    private void writetext(Graphics g){
//       Font font;
//       font = Font.getDefault().derive(Font.PLAIN,Feelsina.twfontsize,Ui.UNITS_pt);
//       int d = font.getAdvance(mytext);
//       int l = mytext.length();
//       int i;
//
//       i = d/(Display.getWidth()-110);
//       if(i<1){
//                 g.drawText(mytext, 30, 30);
//            }
//            else {
//                String str = mytext;
//                for (int j=0;j<i+1;j++){
//                    int p = 0;
//                    int k = 0;
//                    boolean flag2 = false;
//                    if(str.length()>l/(i+1)+p){
//                        k =font.getAdvance(str.substring(0,l/(i+1)+p));
//                        while (k < (Display.getWidth()-110)) {
//                        p++;
//                        if((l/(i+1)+p)==str.length()){
//                            flag2 = true;
//                            break;
//                        }
//                        k =font.getAdvance(str.substring(0,l/(i+1)+p));
//                        }
//                        if(flag2)
//                            g.drawText(str, 30,30+j*Feelsina.twfont );
//                        else
//                            g.drawText(str.substring(0,l/(i+1)+p-1), 30,30+j*Feelsina.twfont );
//                        str = str.substring(l/(i+1)+p-1);
//                    }
//                    else
//                        g.drawText(str, 30,30+j*Feelsina.twfont );
//                }
//            }
//    }

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android 自定义设置文字大小

Android 自定义带文本的ImageButton: /** * 带文字的ImageButton。 后期需求更改,toolbar右上角按钮要加文字描述,因不想更改布局,所以使用自定义控件 * ...

Wince下自定义控件文字换行显示

Wince下的TextBox控件只能显示一行,多的就不能显示全了,要实现

自定义View控件解决android文字排版和换行的问题

import java.util.Vector; import android.content.Context; import android.graphics.Canvas; import a...

自定义圆环百分占比view (label文字支持自动换行 和设置显示行数)

自定义圆环百分占比view (label文字支持自动换行 和设置显示行数)

通过自定义TextView,拉伸每行解决自动换行文字排版参差不齐问题

通过自定义TextView,拉伸每行解决自动换行文字排版参差不齐问题 package com.island.islandsystem.custom_view; import android.c...

DrawText换行显示的方法

转载请标明是引用于 http://blog.csdn.net/chenyujing1234 示例代码: http://www.rayfile.com/zh-cn/files/4767a4ae-88...

android 引导用户指示操作 高亮显示 可以自定义文字或者图片来作为提示,文字会自动换行

如果布局文件中加入了: android:fitsSystemWindows="true" 那要重新activity的onWindowFocusChanged(boolean hasFocus) 方法...

自定义控件之drawText()方法理解

/** * text:要绘制的文字 * x:绘制原点x坐标 * y:绘制原点y坐标 * paint:用来做画的画笔 */ public void drawText(String text...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)