जब मैं मेनू खोलता हूं तो मैं एक स्लाइडिंग होम स्क्रीन के साथ एक साइड मेनू विकसित करने की कोशिश कर रहा हूं। मेरे पास समस्या यह है कि जब मैं साइड मेनू बंद करता हूं, तो मेनू बटन गायब हो जाता है। यहां छवि विवरण दर्ज करेंछवि विवरण यहाँ description

    Form hi = new Form("Hi World");
    Toolbar tb = new Toolbar(false);
    Image icon = theme.getImage("icon.png");
    Container topBar = new Container(new BorderLayout());
    topBar.add(BorderLayout.SOUTH, new Label("Cool App Tagline...", "SidemenuTagline"));
    topBar.setUIID("SideCommand");
    Command SideLogoCommand = new Command("");
    SideLogoCommand.setIcon(icon);
    
    Command MenuCommand = new Command("");
    
   
    
    Button HomeCommand= new Button("Home");
    HomeCommand.getAllStyles().setFgColor(0xA6A6A6);
    HomeCommand.addActionListener((evt) -> {
        SideMenuBar.closeCurrentMenu();
    });

    Button WebsiteCommand= new Button("Website");
    WebsiteCommand.getAllStyles().setFgColor(0xA6A6A6);
   
    Button SettingsCommand= new Button("Settings");
    SettingsCommand.getAllStyles().setFgColor(0xA6A6A6);

    Container cnt = new Container(new BoxLayout(BoxLayout.Y_AXIS));
    cnt.add(topBar);
    cnt.add(HomeCommand);
    cnt.add(WebsiteCommand);
    cnt.add(SettingsCommand);
    hi.setToolbar(tb);
    tb.setOnTopSideMenu(false);
    hi.addCommand(SideLogoCommand);
    MenuCommand.putClientProperty("SideComponent", cnt);
    tb.addCommandToSideMenu(MenuCommand);
    
    hi.addComponent(new Label("Hi World"));
    hi.show();
1
youshail 23 अक्टूबर 2020, 18:32

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि यह इस लाइन के कारण है:

tb.setOnTopSideMenu(false);

आप अनिवार्य रूप से पुराने कम परीक्षण किए गए साइड मेनू को मजबूर कर रहे हैं जिसमें अभी भी नए कोड में रिग्रेशन हो सकते हैं। सबसे अच्छी बात यह है कि उस लाइन को हटा दें। लेकिन अगर आप जोर देते हैं तो आप आह्वान करने का प्रयास कर सकते हैं:

hi.setAllowEnableLayoutOnPaint(true);

ध्यान दें कि यह लंबे रूपों आदि के प्रदर्शन को प्रभावित करेगा।

1
Shai Almog 24 अक्टूबर 2020, 05:07