问题描述
|
我试图设置横幅的高度,以便在屏幕顶部绘制整个图像。
这是我设置横幅高度的代码-
protected void sublayout( int width,int height ) {
Bitmap b = Constants.HEADER_logo;
super.setExtent( b.getWidth(),b.getHeight() );
}
横幅高度已正确调整,但是我无法使用add方法将字段添加到横幅中。没有异常被抛出。
这是增加横幅字段高度的正确方法吗?
谢谢
解决方法
这可能取决于几件事。如果您的位图不是屏幕的宽度,则可能是您没有为字段分配足够的宽度。我可能要做的就是将您的super.setExtent()调用更改为
super.setExtent(width,Math.min(b.getHeight(),height));
这样,我假设您要设置为横幅的是HorizontalFieldManager。您还会注意到在其中还添加了Math.min()调用。这样做的原因是您的宽度和高度是Manager可以占用的最大允许尺寸,如果您尝试调用尺寸大于它的setExtent(),则很可能会在控制台中收到一条错误消息,指出没有足够的布局空间。
因此,既然您已经正确调整了Manager的大小,就可以将Fields添加到此HFM中,然后再设置setBanner(hfm),您应该会很聪明!