下面的代码定义了一个带有两个字段的水平字段管理器。我怎样才能修改代码,以便只在被添加的两个字段上设置背景而不是整个管理器。请注意,即时通讯不会尝试将单个背景图像添加到每个字段,而是跨越两个字段的共享背景图像。自定义HorizontalFieldManager中两个字段后面的背景图像
LabelField label = new LabelField("name");
TextField e = new TextField(Field.FOCUSABLE);
final Bitmap b = Constants.SETTINGS;
final Background bg = BackgroundFactory.createBitmapBackground(Constants.SETTINGS);
HorizontalFieldManager manager = new HorizontalFieldManager()
{
public void sublayout (int width, int height)
{
Field field;
int x = 0;
super.sublayout(b.getWidth(), height);
super.setExtent(b.getWidth(), height);
for (int i = 0; i < getFieldCount(); i++)
{
field = getField(i);
layoutChild(field, Display.getWidth()/2, height);
setPositionChild(field, x, 10);
x += Display.getWidth()/2;
}
}
};
manager.add (label);
manager.add (e);
add (manager);
我从代码中了解到,您正在尝试添加两个字段,每个字段占用一半的屏幕?在提供可能与您想要做的事完全无关的解决方案之前,请先检查一下。 – jprofitt 2011-04-19 16:48:10
那是正确的。标签字段和文本字段每个都占用屏幕一半的常见图像背景。我附上了所需效果的截图。谢谢。 – 2011-04-19 20:00:58