Вы можете сделать один Popup screen
, чтобы удовлетворить ваши требования.См. документ здесь .А для реализации см. Этот вопрос на stackOverFlow .
. Вот код, который вы можете изменить в соответствии со своими требованиями
public class PinPopup extends PopupScreen //implements FieldChangeListener
{
public static EditField texts;
PinPopup()
{
super(new HorizontalFieldManager());
Font f = Font.getDefault().derive(Font.BOLD, 16);
setFont(f);
texts=new EditField("Pin: ","",15 , Field.EDITABLE);
ButtonField sendButton = new ButtonField(" Send "){
protected boolean navigationClick(int status, int time) {
//Do something with button
return true;
}
};
ButtonField cancelButton = new ButtonField("Cancel"){
protected boolean navigationClick(int status, int time) {
//Do something with button
return true;
}
};
Manager _fieldManagerContext = new Manager(USE_ALL_WIDTH)
{
public void sublayout(int width,int height) {
//super.sublayout(width, height);
int xpos = 10;
int ypos = 40;
Field field = getField(0);
layoutChild(field, 280, 50);
setPositionChild(field, xpos, ypos);
Field field1 = getField(1);
layoutChild(field1, 280, 50);
setPositionChild(field1, xpos, ypos+40);
Field field2 = getField(2);
layoutChild(field2, 280, 50);
setPositionChild(field2, xpos+20, ypos+100);
setPosition(300, 300);
setExtent(300, 300);
}
public void paint(Graphics graphics)
{
//graphics.setColor(Color.WHITE);
Font f = Font.getDefault().derive(Font.BOLD, 16);
graphics.setFont(f);
graphics.drawText("SEND PIN",90, 20,0,200);
//graphics.drawText( _userName,110,40,0,200);
graphics.setColor(Color.WHITE);
super.paint(graphics);
}
};
_fieldManagerContext.add(texts);
_fieldManagerContext.add(sendButton);
_fieldManagerContext.add(cancelButton);
add(_fieldManagerContext);
}
}