2016-08-06 4 views
2

우리가이 형식으로 대화 메시지를 원하는 모양과 당신이 내가 그것을 해결하는 방법을 알려 주시기 바랍니다 수 enter image description hereCodenameone : 경고 대화 메시지

입력합니다. 내 응용 프로그램은 모든 플랫폼 (Android, iOS, Windows)에서 지원되어야하며 모든 플랫폼에 대한 고유 코드를 별도로 작성하고 싶지 않습니다.

답변

2

실제로 코드 명을 사용자 정의하는 것이 Java로 작성되었으므로 모든 것이 보이도록 모든 것을 사용자 정의 할 수 있기 때문에 외관을 더 쉽게 사용자 정의 할 수 있습니다.

단순함을 위해 더 나은 스타일보다는 코드를 사용 했으므로보다 유연하게이 작업을 수행하려면 테마 디자이너에서 Dialog UIID 및 기타 UIID를 사용자 정의 할 수 있습니다.

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();  

enter image description here

내가 테마 디자이너 대화 상자 사용자 지정을하고있는 9 개 이미지의 경계를 사용하는 것이 좋습니다 것입니다 : 내가 코드에서 사용자 정의를했다 있도록 그러나 이것은 많은 스크린 샷과 설명을 필요로 더 나은 찾고.

+0

내 프로젝트에서이 사용자 정의 코드를 어디에 추가해야합니까? StateMachine.java 또는 StateMachineBase.java 또는 그 밖의 다른 곳에서? –

+1

해당 코드를 어디에나 쓸 수 있으므로 대화 상자가 표시됩니다. 모든 대화 상자를 사용자 정의하여 예를 들어 다음과 같이 표시 할 수 있습니다. 안드로이드 시뮬레이터 스킨으로 실행할 때 그들은 꽤 유사하게 보일 것입니다. 이것은 github 저장소의 Themes 디렉토리에서 다운로드 할 수있는 Android 기본 테마에서 온 것입니다. –