2011-06-27 104 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参数传递给您视图的父构造函数。