在Blackberry的同一水平字段管理器中编辑字段和位图图像

时间:2011-03-29 11:11:59

标签: blackberry blackberry-simulator

我正在构建一个小型的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);

请建议。 还建议在布局管理器中正确对齐组件的方法。

1 个答案:

答案 0 :(得分:1)

Here's a blog that talks about table layout。我认为这是你应该考虑的事情。它可以让您更好地控制布局。

至于上面的代码,我猜测文本框右侧没有足够的空间来显示位图。我想如果你从位图开始,它将显示整个位图和尽可能多的文本字段。如果你从文本字段开始,它显示整个字段,没有空间显示位图(它可能不显示部分位图?)

我相信你必须缩小你的宽度。