2011-12-16 18 views
0

2つのImageViewをオーバーレイしようとしています.1つは背景、もう1つはアニメーション付きです(AnimationDrawableを使用)。アニメーションフレームは透明なPNGです。他の画像にオーバーレイされたときにAndroid PNG画像が表示されない

両方の画像を表示すると、オーバーレイされたアニメーションが表示されないという問題があります。 JPGをフレームの1つとして追加すると、そのフレームが並んでいるときのみ表示されるので、私の前提は透明な画像に何か問題があることです。

背景画像のないアニメーションのみを表示すると、良好に表示されます。

これは、コードの一部です:

AbsoluteLayout layout = new AbsoluteLayout(this); 
    setContentView(layout); 

    ImageView splash = new ImageView(this); 
    splash.setImageResource(R.drawable.splashscreen); 
    ImageView imageAnim = new ImageView(this);  
    animation = new AnimationDrawable(); 

    imageAnim.post(new Starter()); 
    imageAnim.setImageDrawable(animation); 

    layout.addView(splash, new AbsoluteLayout.LayoutParams(Global.Width, Global.Height, 0, 0)); 
    layout.addView(imageAnim, new AbsoluteLayout.LayoutParams((int) (89 * Global.scaleX), (int) (68 * Global.scaleY), (int) (550 * Global.scaleX), (int) (413 * Global.scaleY))); 
    imageAnim.bringToFront(); 

答えて

1

ImageViewをバックグラウンドで使用する代わりにAbsoluteLayoutの背景を設定しようとしましたか?

したがって代わりコード:

AbsoluteLayout layout = new AbsoluteLayout(this); 
setContentView(layout); 

ImageView splash = new ImageView(this); 
splash.setImageResource(R.drawable.splashscreen); 

使用本:

AbsoluteLayout layout = new AbsoluteLayout(this); 
layout.setBackgroundDrawable(R.drawable.splashscreen); 
setContentView(layout); 
1

はあなたがでframeLayout代わりのAbsoluteLayoutを試してみましたありがとう!あなたの問題を解決するように思えます。

+0

事はIであり; mは、画面全体を充填する1枚の背景画像にアニメーションスプラッシュ画面を構成し、そこにいくつかの部分で固定位置で実行されるいくつかのアニメーションです。 – Pasman

+0

しかし、AbsoluteLayoutは非推奨です。通常は、FrameLayoutを使用して、必要な場所に配置することができます。それだけであなたのイメージを上にオーバーレイします。 – jcxavier