На самом деле настроить Codename проще, так как все написано на Java, вы можете буквально буквально изменить внешний вид.
Для простоты я использовал код, а не стили, которые были бы лучше, вы можете настроить UIID Dialog
в дизайнере темы, чтобы получить большую гибкость и сделать это проще. Однако, для этого потребуется много скриншотов и объяснения, так что я сделал настройки в коде:
Form f = new Form("Test");
Button b = new Button("Show Dialog");
f.add(b);
b.addActionListener(e -> {
Dialog dlg = new Dialog("Authentication");
Style dlgStyle = dlg.getDialogStyle();
dlgStyle.setBorder(Border.createEmpty());
dlgStyle.setBgTransparency(255);
dlgStyle.setBgColor(0xffffff);
Label title = dlg.getTitleComponent();
title.setIcon(finalDuke.scaledHeight(title.getPreferredH()));
title.getUnselectedStyle().setFgColor(0xff);
title.getUnselectedStyle().setAlignment(Component.LEFT);
dlg.setLayout(BoxLayout.y());
Label blueLabel = new Label();
blueLabel.setShowEvenIfBlank(true);
blueLabel.getUnselectedStyle().setBgColor(0xff);
blueLabel.getUnselectedStyle().setPadding(1, 1, 1, 1);
blueLabel.getUnselectedStyle().setPaddingUnit(Style.UNIT_TYPE_PIXELS);
dlg.add(blueLabel);
TextArea ta = new TextArea("This is the text you want to appear in the dialog, this might line break if the text is too long...");
ta.setEditable(false);
ta.setUIID("DialogBody");
ta.getAllStyles().setFgColor(0);
dlg.add(ta);
Label grayLabel = new Label();
grayLabel.setShowEvenIfBlank(true);
grayLabel.getUnselectedStyle().setBgColor(0xcccccc);
grayLabel.getUnselectedStyle().setPadding(1, 1, 1, 1);
grayLabel.getUnselectedStyle().setPaddingUnit(Style.UNIT_TYPE_PIXELS);
dlg.add(grayLabel);
Button ok = new Button(new Command("OK"));
ok.getAllStyles().setBorder(Border.createEmpty());
ok.getAllStyles().setFgColor(0);
dlg.add(ok);
dlg.showDialog();
});
f.show();
Я бы рекомендовал делать диалоговую настройку в тему дизайнере и использование границы изображения в 9-куске, который выглядящий лучше.
где я должен добавить этот код для настройки в свой проект. В StateMachine.java или StateMachineBase.java или где-нибудь еще? –
Вы можете написать этот код в любом месте, чтобы показать диалог. Вы можете настроить все диалоги, чтобы выглядеть так, например. при работе с кожей симулятора Android они должны выглядеть довольно похоже на это. Это происходит из родной темы Android, которую вы можете скачать из каталога Themes в нашем репозитории github. –