EditText怎么自动换行

 我来答
可以叫我表哥
推荐于2016-07-04 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464972
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
package com.example.android.helloactivity;
import android.content.Context;
import android.graphics.Paint;
import android.graphics.Rect;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.view.Display;
import android.view.KeyEvent;
import android.view.WindowManager;
import android.widget.EditText;
public class MyEditor extends EditText {
int screenWidth = 0;
int screenHeight = 0;
int currentHeight = 0;
Context context = null;
public MyEditor(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
currentHeight = getHeight();
WindowManager windowManager = (WindowManager) this.context
.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
//取得屏幕宽度和高度
screenWidth = display.getWidth();
screenHeight = display.getHeight();
setScrollBarStyle(DRAWING_CACHE_QUALITY_AUTO);
/* Rect rect = new Rect();
Paint p = new Paint();
p.setTypeface(getTypeface());
p.getTextBounds("A", 0, 1, rect);
fontWidth = rect.width();*/
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
TextPaint paint = getPaint();
float len = paint.measureText(getText().toString());
//计算得到当前应该有几行
int line = ((int)len / screenWidth + 1);
getEllipsize() ;
setFrame(0, 0, screenWidth, line * 60);
// setHeight(line*60) ;
// setMarqueeRepeatLimit(line) ;
// setMaxHeight(line*60) ;
// setLines(line) ;
// setBackgroundColor(Color.WHITE) ;
return false;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式