我使用Bitmap.Now创建了一个带边框的自定义BasicEditField,在输入文本时,它越过了BasicEditField
的边框。
这是我的代码
class customEditField1 extends EditField
{
Bitmap mBorder = null;
customEditField1(Bitmap borderBitmap)
{
mBorder = borderBitmap;
}
protected void paint(Graphics graphics)
{
graphics.drawBitmap(0, 0, mBorder.getWidth(),mBorder.getHeight(), mBorder, 0, 0);
super.paint(graphics);
}
}
我想创建一个BasicEditField,它应该隐藏先前输入的文本并显示新输入的文本,并且键入的文本应该在边框中。它不应该取决于字符数限制。我想要应用填充文本和边界之间。
答案 0 :(得分:1)
您可以将BasicEditField放入HorizontalFieldManager 不要忘记将边框位图绘制从BasicEditField移动到HorizontalFieldManager。
class ScrollEdit extends HorizontalFieldManager {
Bitmap mBorder = null;
public BasicEditField mEdit = null;
public ScrollEdit(Bitmap border) {
super(HORIZONTAL_SCROLL | NO_HORIZONTAL_SCROLLBAR);
mBorder = border;
mEdit = new EditField(BasicEditField.NO_NEWLINE);
add(mEdit);
}
protected void paint(Graphics graphics) {
graphics.drawBitmap(0, 0, mBorder.getWidth(), mBorder.getHeight(),
mBorder, 0, 0);
super.paint(graphics);
}
}
但是你必须使用layout和setExtent来调整大小管理器并正确编辑。我的建议是首先尝试没有边框位图。
请参阅Scroll BasicEditField instead of wrap
谈论换行,在管理器中设置padding到BasicEditField或在边框位图中添加空格......