2011-06-27 79 views
1

我正在嘗試構建一個應用程序標題在初始佈局加載時緩慢淡入的歡迎屏幕。通過控制其透明度淡入淡出的Android ImageView

我想要遵循的一個簡單方法就是擴展imageView類,以在淡入淡出代碼中包含淡入淡出代碼,但出於某種原因,Android根本不會呈現ImageView。

與用於這個樣子靜態圖像的XML:

<ImageView 
android:src="@drawable/logosmall" 
android:adjustViewBounds="true" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/imageLogo"/> 

我只是加載logosmall這裏和它的作品不錯,但標識是從開始完全可見。

和新的XML打電話給我的自定義的ImageView類幾乎是相同的:

<com.mydomainhere.customImageView 
android:src="@drawable/logosmall" 
android:adjustViewBounds="true" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/imageLogo"/> 

自定義類代碼非常簡單,我只是需要重寫的onDraw方法和無效。

public class customImageView extends ImageView{ 
    private float mAlpha = 5f; 
    private float mDelta = 1f; 

    public customImageView(Context context) { 
     super(context); 
    } 

    public customImageView(Context context, AttributeSet attrs) { 
     super(context); 
     this.setAlpha((int)mAlpha); 

    } 


    @Override 
    public void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 

     if (mAlpha > 254){ 
      mDelta = -1f; 
     } 
     if (mAlpha < 1){ 
      mDelta = 1f; 
     } 
     mAlpha = mAlpha + mDelta; 
     this.setAlpha((int)mAlpha); 

     this.invalidate();  
    } 

} 

所以我期待這個代碼給我一個很好的標誌或橫幅,進出的初始惠康屏幕消失,但Android是不知何故未能從XML加載我「smalllogo」可言。

在這個階段,我更擔心在XML中使用自定義組件的能力,以及android是否能夠正確呈現XML,我必須做錯事情,這對我來說很簡單。

如果從java加載徽標png文件一切看起來不錯,但它看起來像android無法從XML加載徽標pgn文件,儘管我的類只是標準ImageView類的擴展。

在此先感謝您的幫助。

回答

0

看來您需要將attrs參數傳遞給您視圖的父構造函數。