2010-05-09 43 views
0

我有一個非常簡單的應用程序,有一個屏幕和一個按鈕。主屏幕中有一個VerticalFieldManager,裏面有一個BitmapField,在位圖下面有一個按鈕。當用戶點擊一個按鈕時,我希望能夠覆蓋其他圖像。疊加圖像與透明背景PNG,這是設計的重要,所以我不能使用popupscreen或一個新的屏幕,因爲背景是默認總是白色的,我聽說阿爾法並沒有真正做的伎倆。你能覆蓋黑莓應用程序中的透明圖像嗎?

我猜我問的是,如果有人知道一個簡單的方法來...

A)取一個標準verticalFieldManager和內含量最高

乙覆蓋一個PNG)一個覆蓋PNG在屏幕上,無論內容

這個應用程序的基本功能的目的是 - 顯示的圖像。點擊後,顯示另一個覆蓋頂部。再次點擊,刪除彈出圖像。

我還沒有發現任何解決這樣的事情在網上,但我看過的人這樣做,利用popupscreen和新屏幕的方式,我不需要做類似的事情。

希望這是有道理的。 感謝

回答

0

你有沒有嘗試過這樣的事情在覆蓋的屏幕自定義類?

EncodedImage _overlayImage; 
boolean _overlay = false; 

// this is to catch the click, you might do it different 
public void fieldChanged(Field field, int context) 
{ 
    if (field == _imgChangeButton) { 
     // get the overlay image here, however you want 
     _overlayImage = getEncodedImageResource(blah); 
     _overlay = true; 
     invalidate(); 
    } 
} 

protected void paint(Graphics graphics) { 
    super.paint(graphics); 

    if (_overlay) { 
     graphics.drawImage(...); 
    } 
} 

如果PNG具有透明度,那麼bb drawImage的東西應該處理好。在drawImage調用中,顯然你可以在找到現有圖像並將x,y設置在最上方的情況下進行調整。

一般來說,我會說,做了很多的油漆檢測的(),並用圖形搞亂你嘗試做另一個屏幕上的任何直接之前。你可以爲屏幕做很多重寫paint()......你可以得到整個圖形。