我正在构建一个小型的Blackberry应用程序,我必须在一个Horiziontal字段管理器中一个接一个地添加editField和Bitmap Image。代码工作正常 我在EditField之前放置了Bitmap Image,但是当我在EditField之后放置Image时,它无法正常工作。
以下是我正在使用的代码:
hfm1=new HorizontalFieldManager();
Bitmap image = Bitmap.getBitmapResource("search_icon.png");
BitmapField imageButton = new BitmapField(image, BitmapField.FOCUSABLE)
{
protected boolean navigationClick(int status, int time)
{
// This is method will invoke after clicking the image
// System.out.println("Image Clicked");
SearchButtonClick();
return true;
}
};
searchEdit=new EditField("",_DEFAULT_FIELD_TXT, 50, EditField.FIELD_LEFT|EditField.NO_NEWLINE){
public void layout(int width, int height)
{
Font font = getFont();
int _fieldHeight = font.getHeight()+5;
//int _fieldWidth = (getWidth()-100);
setExtent(300, _fieldHeight);
super.layout(width,height);
}
};
add(new SeparatorField());
searchEdit.setFont(MainAppScreen.fontTitle);
searchEdit.setMargin(1, 2,1,1);
//hfm1.setMargin(2,5,2,5);
hfm1.add(searchEdit);
hfm1.add(imageButton);
add(hfm1);
请建议。 还建议在布局管理器中正确对齐组件的方法。
答案 0 :(得分:1)
Here's a blog that talks about table layout。我认为这是你应该考虑的事情。它可以让您更好地控制布局。
至于上面的代码,我猜测文本框右侧没有足够的空间来显示位图。我想如果你从位图开始,它将显示整个位图和尽可能多的文本字段。如果你从文本字段开始,它显示整个字段,没有空间显示位图(它可能不显示部分位图?)
我相信你必须缩小你的宽度。