开发者

blackberery popup windows without black border color

hi all The below is my code .i try to remove black border color from popup window .i tried this but still i get small black border . public class S2SPopup extends PopupScreen {

public S2SPopup() 
{
    super(new VerticalFieldManager()
    {
        public void paint(Graphics g)
        {
            int a = g.getGlobalAlpha();
            int c = g.getColor();
            g.setColor(c);
            g.drawBitmap(0, 0, HomeScreen.popupimg.getWidth(),HomeScreen.popupimg.getHeight(),HomeScreen.popupimg, 0, 0);
            super.paint(g);
        }
        protected void sublayout(int maxWidth, int maxHeight) 
        {
            super.sublayout( HomeScreen.popupimg.getWidth(),HomeScreen.popupimg.getHeight());
            setExtent( HomeScreen.popupimg.getWidth(),HomeScreen.popupimg.getHeight());
        }

    });

    setBackground(BackgroundFactory.createSolidTransp开发者_运维问答arentBackground(Color.WHITE, 0));



    VerticalFieldManager vfm_Label = new VerticalFieldManager(VerticalFieldManager.VERTICAL_SCROLL)
    {
        protected void sublayout(int maxWidth, int maxHeight) 
        {
            super.sublayout(maxWidth,150);
            setExtent(maxWidth, 150);
        }
    };
    vfm_Label.setMargin(80, 0, 0, 0);

    ButtonField btnclose = new ButtonField("",ButtonField.RIGHT)
    {
        public void paint(Graphics g)
        {
            //setBackground(BackgroundFactory.createSolidTransparentBackground(Color.WHITE, 0));
            int c = g.getGlobalAlpha();
            g.setBackgroundColor(c);
            super.paint(g);
        }
    };
    btnclose.setMargin(0, 0, 0, 250);
    btnclose.setChangeListener(new FieldChangeListener() {

        public void fieldChanged(Field field, int context) 
        {
            close();
        }
    });

    LabelField s2sLabelField = new LabelField()
    {
        public void paint(Graphics g)
        {
            g.setColor(Color.BLUE);
            super.paint(g);
        }
        protected void layout(int width, int height) 
        {
            super.layout(width, 150);
            setExtent(width, 150);
        }
    };
    s2sLabelField.setPadding(0, 50, 0, 30);
    s2sLabelField.setText("lasjdfljlsjlfj  ljsfdl jsflljfiowurnowncnvouern.zvovn ljlsfdjj jlj" +
            "jsljfdlj ljsfl sjfl jfjsljdfljslfu jsjf;ujerpljsfdjpn  sdflsajf ss23s mail jsldfjlfdju nsfjljljlfjmnn,nsf,n,nlojljlsndf,n,ljnsjfdljjufsn jj" +
            "sjfd;jjljlsduflja;sfj ljsldfujrqnfqperiujf.zvnpqrue 33333333333333333333333333333333333333 ");

    add(btnclose);
    vfm_Label.add(s2sLabelField);
    add(vfm_Label);



} //end of constructor

} // end of main screen


Override applyTheme with an empty implementation, and the black border goes away. You can't fix this from the constructor alone:

protected void applyTheme(){}


I doubt that it will correct this, but you may try giving your delegate manager a margin of 0 just to be certain that there isn't one on it and background color is creeping in from the theme. A solution that I have implemented in the past is to create your own custom Screen

public class CustomPopup extends Screen {

public CustomPopup() {
    super(new VerticalFieldManager() {
        //your custom code or a custom manager class (which is what I did)
    );
    setBackground(BackgroundFactory.createSolidTransparentBackground(0x000000, 0));
}

protected void sublayout(int width, int height) {
    //make this screen take up the entire display
    setPosition(0, 0);
    setExtent(Display.getWidth(), Display.getHeight());

    //and layout the delegate
    setPositionDelegate(some_x, some_y);
    layoutDelegate(some_width, some_height);
}
}

You'll have to add your own buttons and other graphics to it, but This should at least help point you in the right direction.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜