背景画像があり、2 つの LabelFields、BasicEditField、および ButtonField を 1 つの画面にオーバーレイします。私の問題は、画面を完全に埋めるのではなく、ボタンの下部の後に背景画像が途切れることです。(読みやすくするために余分なコードを削除しました)
VerticalFieldManager bgManager = new VerticalFieldManager(Manager.USE_ALL_WIDTH |
Manager.NO_VERTICAL_SCROLL |
Manager.NO_VERTICAL_SCROLLBAR) {
//Override the paint method to draw the background image.
public void paint(Graphics graphics)
{
//Draw the background image and then call super.paint
//to paint the rest of the screen.
graphics.drawBitmap(0, 0, Display.getWidth(), Display.getHeight(), backgroundBitmap, 0, 0);
super.paint(graphics);
}
};
this.add(bgManager);
LabelField header = new LabelField("", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
header.setText("Search by Drug Name");
bgManager.add(header);
LabelField subtitle = new LabelField("", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
subtitle.setText("(brand name or generic)");
bgManager.add(subtitle);
HorizontalFieldManager hfm = new HorizontalFieldManager();
final BasicEditField edit = new BasicEditField("", "", 50, EditField.EDITABLE | BasicEditField.NO_NEWLINE) {
//code to make background of text box white
}
};
hfm.add(edit);
ButtonField search = new ButtonField("Search");
search.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
//do something
}
});
Manager.USE_ALL_HEIGHT
に追加すると、背景画像が画面いっぱいに表示されますが、画面bgManager
全体が無限にスクロール可能になります。がないManager.USE_ALL_HEIGHT
と、画面はまったくスクロールできません (正しい) が、コンテンツの最後で背景画像が途切れます。
スクロールできず、表示画面全体を占める背景画像を持つように、この画面を作成するにはどうすればよいですか?
間違っているように見えるのは次のとおりです。
これは正しいように見えます (ただし、スクロールは正しくありません)。
私が使用している背景画像は次のとおりです。