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


New Factory Sealed AB 1756-L62 SER B ControlLogix 4MB Memory Controller 1756L62 picture

New Factory Sealed AB 1756-L62 SER B ControlLogix 4MB Memory Controller 1756L62

$505.00



Mitsubishi QX141-1 WITH MEMORY CARDS picture

Mitsubishi QX141-1 WITH MEMORY CARDS

$825.00



Allen Bradley SLC 500 5/03 8K Controller 1747-L531 SER E picture

Allen Bradley SLC 500 5/03 8K Controller 1747-L531 SER E

$70.00



Memory Stick RAM Shipping Box - 5 Trays fits 250 DDR5 DDR4 DDR3 DIMM Modules New picture

Memory Stick RAM Shipping Box - 5 Trays fits 250 DDR5 DDR4 DDR3 DIMM Modules New

$41.50



Dental Endodontic Endo Memory Engine Rotary Root Canal NiTi File 25mm files 6PCS picture

Dental Endodontic Endo Memory Engine Rotary Root Canal NiTi File 25mm files 6PCS

$349.50



1PC NEW Memory card 2711-NM11 2711-NM11 SPOT STOCK picture

1PC NEW Memory card 2711-NM11 2711-NM11 SPOT STOCK

$364.61







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