BlackBerry Forums Support Community
              

Closed Thread
 
Thread Tools
Old 05-20-2008, 10:22 PM   #1
CELITE
Thumbs Must Hurt
 
Join Date: Dec 2005
Model: 8310
Carrier: Rogers
Posts: 138
Default Transparent "window" on the ribbon.

Please Login to Remove!

There was a post a while back about creating a window that was slightly transparent and overlays the ribbon. The purpose of this was to create a clock application (I think?) that sits on top of the homescreen for easy reference.

I posted a solution in a completely unrelated thread but this should probably be in separate thread (the original one was closed).

Here's the code:

Code:
class FloatingScreenMain extends UiApplication {
    
    public static void main( String[] args ) {
        FloatingScreenMain app = new FloatingScreenMain();
        app.enterEventDispatcher();
    }
    
    FloatingScreenMain() {    
    
        /**
         * Putting this on the event stack instead of pushing a screen from main 
         * ensures that the backbuffer is not cleared and that the main ribbon
         * continues to repaint.
         */
        UiApplication.getUiApplication().invokeLater( new Runnable() {
            public void run() {
                CustomPopupScreen popup = new CustomPopupScreen();
                pushScreen( popup );
            }
        });
    }
} 


class CustomPopupScreen extends Screen {
    
    private final static int _CUSTOM_SIZE   = 100;
    private final static int _ALPHA         = 0xBF; // 75% alpha
    private final static int _X             = ( Display.getWidth() - _CUSTOM_SIZE ) >> 1;
    private final static int _Y             = ( Display.getHeight() - _CUSTOM_SIZE ) >> 1; 
    
    
    CustomPopupScreen() {    
        super( new VerticalFieldManager( Manager.NO_VERTICAL_SCROLL | Manager.NO_VERTICAL_SCROLLBAR ) );
        add( new LabelField( "Floating Popup" ) );
    }
    
    protected void sublayout( int width, int height ) {
        setExtent( _CUSTOM_SIZE, _CUSTOM_SIZE );
        setPosition( _X, _Y );
        layoutDelegate( _CUSTOM_SIZE, _CUSTOM_SIZE );
    }
    
    protected void paintBackground( Graphics g ) {
        XYRect myExtent = getExtent();
        int color = g.getColor();
        int alpha = g.getGlobalAlpha();
        g.setGlobalAlpha( _ALPHA );
        g.setColor( 0xE3E3E3 );
        g.fillRect( 0, 0, myExtent.width, myExtent.height );
        g.setColor( color );
        g.setGlobalAlpha( alpha );
    }
    
    protected boolean keyDown( int keycode, int status ) {
        if ( Keypad.key( keycode ) == Keypad.KEY_ESCAPE ) {
            close();
            return true;
        }
        return super.keyDown( keycode, status );
    }
        
    
    
}
Offline  
Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


Allen-Bradley 1772-MEB Memory Module picture

Allen-Bradley 1772-MEB Memory Module

$266.18



WIFI Audio Voice Recorder Live Real-Time Audio Thru App | Charger & 32GB SD Card picture

WIFI Audio Voice Recorder Live Real-Time Audio Thru App | Charger & 32GB SD Card

$129.00



Honeywell 30751856 Memory Module picture

Honeywell 30751856 Memory Module

$555.75



Allen-Bradley 1772-ME Ram Memory Module picture

Allen-Bradley 1772-ME Ram Memory Module

$54.90



New Sealed AB 2080-MEMBAK-RTC Memory Backup, Data Log, Recipe ,High Accuracy RTC picture

New Sealed AB 2080-MEMBAK-RTC Memory Backup, Data Log, Recipe ,High Accuracy RTC

$280.92



NEW IN BOX Allen Bradley 1756-L55M12 SER A ControlLogix Processor 750KB Memory picture

NEW IN BOX Allen Bradley 1756-L55M12 SER A ControlLogix Processor 750KB Memory

$400.34







Copyright © 2004-2016 BlackBerryForums.com.
The names RIM © and BlackBerry © are registered Trademarks of BlackBerry Inc.