Last active
July 8, 2020 09:57
-
-
Save codenameone/d1c091a171fe97fdeb5f to your computer and use it in GitHub Desktop.
Shows the usage of the SwipableContainer that allows gesture swiping a UI in Codename One
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public void showForm() { | |
Form hi = new Form("Swipe", new BoxLayout(BoxLayout.Y_AXIS)); | |
hi.add(createRankWidget("A Game of Thrones", "1996")). | |
add(createRankWidget("A Clash Of Kings", "1998")). | |
add(createRankWidget("A Storm Of Swords", "2000")). | |
add(createRankWidget("A Feast For Crows", "2005")). | |
add(createRankWidget("A Dance With Dragons", "2011")). | |
add(createRankWidget("The Winds of Winter", "TBD")). | |
add(createRankWidget("A Dream of Spring", "TBD")); | |
hi.show(); | |
} | |
public SwipeableContainer createRankWidget(String title, String year) { | |
MultiButton button = new MultiButton(title); | |
button.setTextLine2(year); | |
return new SwipeableContainer(FlowLayout.encloseCenterMiddle(createStarRankSlider()), | |
button); | |
} | |
private void initStarRankStyle(Style s, Image star) { | |
s.setBackgroundType(Style.BACKGROUND_IMAGE_TILE_BOTH); | |
s.setBorder(Border.createEmpty()); | |
s.setBgImage(star); | |
s.setBgTransparency(0); | |
} | |
private Slider createStarRankSlider() { | |
Slider starRank = new Slider(); | |
starRank.setEditable(true); | |
starRank.setMinValue(0); | |
starRank.setMaxValue(10); | |
Font fnt = Font.createTrueTypeFont("native:MainLight", "native:MainLight"). | |
derive(Display.getInstance().convertToPixels(5, true), Font.STYLE_PLAIN); | |
Style s = new Style(0xffff33, 0, fnt, (byte)0); | |
Image fullStar = FontImage.createMaterial(FontImage.MATERIAL_STAR, s).toImage(); | |
s.setOpacity(100); | |
s.setFgColor(0); | |
Image emptyStar = FontImage.createMaterial(FontImage.MATERIAL_STAR, s).toImage(); | |
initStarRankStyle(starRank.getSliderEmptySelectedStyle(), emptyStar); | |
initStarRankStyle(starRank.getSliderEmptyUnselectedStyle(), emptyStar); | |
initStarRankStyle(starRank.getSliderFullSelectedStyle(), fullStar); | |
initStarRankStyle(starRank.getSliderFullUnselectedStyle(), fullStar); | |
starRank.setPreferredSize(new Dimension(fullStar.getWidth() * 5, fullStar.getHeight())); | |
return starRank; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sample usage of SwipeableContainer.
From the Codename One project