2016-10-26 2 views

ответ

1

Смотреть это:

Form hi = new Form("Badge"); 

    Button chat = new Button(""); 
    FontImage.setMaterialIcon(chat, FontImage.MATERIAL_CHAT, 7); 
    Label badge = new Label("33"); 
    badge.getAllStyles().setBorder(
      RoundBorder.create().rectangle(true)); 
    badge.getAllStyles().setAlignment(Component.CENTER); 
    int size = Display.getInstance().convertToPixels(1.5f); 
    badge.getAllStyles().setFont(Font.createTrueTypeFont("native:MainLight", "native:MainLight"). 
      derive(size, Font.STYLE_PLAIN)); 
    Container cnt = LayeredLayout.encloseIn(chat, FlowLayout.encloseRight(badge)); 
    cnt.setLeadComponent(chat); 

    hi.add(cnt); 

    TextField changeBadgeValue = new TextField("33"); 
    changeBadgeValue.addDataChangedListener((i, ii) -> { 
     badge.setText(changeBadgeValue.getText()); 
     cnt.revalidate(); 
    }); 
    hi.add(changeBadgeValue); 

    hi.show(); 

enter image description here

enter image description here

Обратите внимание, что текущая версия RoundBorder имеет несколько больший минимальный размер. Это было исправлено в предстоящем обновлении.

+0

«RoundBorder имеет чуть больший минимальный размер» - я заметил, но результат тоже получился. См. - [link] (https://drive.google.com/open?id=0BzY44cTAYI7pWC1VLTZkMkJZVFU) Я буду ждать обновления. благодаря –

Смежные вопросы