Blackberry 如何在BasicEditField中禁用无止境滚动
大家好,我已经实现了自定义Blackberry 如何在BasicEditField中禁用无止境滚动,blackberry,textfield,horizontal-scrolling,blackberry-storm,blackberry-basiceditfield,Blackberry,Textfield,Horizontal Scrolling,Blackberry Storm,Blackberry Basiceditfield,大家好,我已经实现了自定义基本编辑字段来设置提示和输入长文本 请看我的密码 vfm_searchBox = new VerticalFieldManager() { //Main.Quicksearchinput is background image for inputtext public void paint(Graphics g) { g.setColor(Col
基本编辑字段
来设置提示和输入长文本
请看我的密码
vfm_searchBox = new VerticalFieldManager()
{
//Main.Quicksearchinput is background image for inputtext
public void paint(Graphics g)
{
g.setColor(Color.WHITE);
g.drawBitmap(0,0,Main.Quicksearchinput.getWidth(),Main.Quicksearchinput.getHeight(),Main.Quicksearchinput,0,0);
super.paint(g);
}}
有一个HorizontalFieldManager
用于滚动文本
hfm\u searchBox=新的水平字段管理器(Manager.HORIZONTAL\u滚动)代码>
有一个Basiceditfield
用于输入文本
txtSearch = new BasicEditField(BasicEditField.NO_NEWLINE)
{
public void paint(Graphics g)
{
if(super.getText().length() == 0)
{
g.setColor(Color.GRAY);
g.setFont(g.getFont().derive(Font.PLAIN,18));
g.drawText("Enter Event title or subtitle", 0, 0);
super.paint(g);
}
else
{
g.setColor(Color.BLACK);
super.paint(g);
}
}};
BasicEditField
与Backgroundimage
和hint
一起看起来很不错,但问题是,当我在textfield中没有输入任何内容时,它就像无休止的滚动条一样工作。我已经设置了Horizontalfield
宽度取决于BasiceditField,但其宽度默认设置为无限
hfm_searchBox.add(txtSearch);
vfm_searchBox.add(hfm_searchBox);
如何防止无休止的滚动
提前感谢 什么是HorizontalFieldManager?这是指可滚动的空间,而宽度是指屏幕上的范围。您可以尝试扩展HorizontalFieldManager并重写sublayout方法,然后调用它。HorizontalFieldManager的功能是什么?这是指可滚动的空间,而宽度是指屏幕上的范围。您可以尝试扩展HorizontalFieldManager并覆盖sublayout方法,调用它。正如Tamar所说,字段的虚拟宽度是跟踪的关键概念
你可以。我提供了一个完整的代码示例,这个示例可能离您要做的不远。我使用的代码更进一步,动态地将滚动限制到文本当前到达的末尾。如果不这样做,只需设置一个常量虚拟宽度,则字段实际上会向右滚动太远。通过动态调用setVirtualEvent()
,您总能获得足够的滚动,但不会太多。正如Tamar所说,字段的虚拟宽度是需要跟踪的关键概念
你可以。我提供了一个完整的代码示例,这个示例可能离您要做的不远。我使用的代码更进一步,动态地将滚动限制到文本当前到达的末尾。如果不这样做,只需设置一个常量虚拟宽度,则字段实际上会向右滚动太远。通过动态调用setVirtualEvent()
,您总能获得足够的滚动,但不会太多。对于suggetion来说有很多。我试图重写该方法,但它不起作用。你能告诉我如何实现这个吗?谢谢你的建议。我试图重写该方法,但它不起作用。你能告诉我如何实现这一点吗?