当覆盖在另一个图像上时,Android PNG图像不可见

时间:2011-12-16 13:44:40

标签: android png imageview overlay

我正在尝试覆盖2个ImageViews,一个带有背景,另一个带有动画(使用AnimationDrawable)。动画帧是透明的PNG。

问题在于,当两个图像都可见时,叠加的动画不会显示。如果我将JPG添加为其中一个帧,只有当这些帧排成一行时才显示,所以我的推测是透明图像有问题。

如果我只显示没有背景图像的动画,则显示效果很好。

这是代码的一部分:

    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();

谢谢

2 个答案:

答案 0 :(得分:1)

您是否尝试过FrameLayout而不是AbsoluteLayout?好像它会解决你的问题。

答案 1 :(得分:1)

您是否尝试过设置AbsoluteLayout的背景而不是使用ImageView作为背景?

因此而不是代码:

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);