0

我已经搜索了堆栈溢出,但仍然遇到这个问题。

我想Button在我的应用程序上显示一个,使用一个AnimationDrawable作为我的背景。我关注了 Android Dev 页面(http://developer.android.com/guide/topics/graphics/drawable-animation.html)并且能够使动画正常工作。但是,我的按钮是完全隐藏的。用户仍然可以单击它,但背景动画在视觉上将它隐藏起来,就好像没有按钮一样。

我试过setAlpha了,但是将它应用到我的“AnimationDrawable”会模糊我的Drawable“胶卷”中的 3 张图像。此外,屏幕从黑色开始,需要很长时间才能逐渐达到设定的不透明度。起初它看起来是一个内存问题,但到目前为止,我的应用程序只是一个Activity带有 a 的应用程序Button,它导致另一个Activity.

有谁知道如何让我Button出现在我的顶部AnimationDrawable?或者有没有人有setAlpha减慢动画的经验?

这是我的参考代码:

public class Main extends Activity {
Button start;
Intent intent= new Intent();
ImageView background;
AnimationDrawable animation;

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    background= (ImageView) findViewById(R.id.imagehost);
    background.setBackgroundResource(R.drawable.anim);
    animation= (AnimationDrawable) background.getBackground();


    start= (Button) findViewById(R.id.start);

    start.setOnClickListener(new OnClickListener(){
        ...


} //end of onCreate

@Override
public void onWindowFocusChanged(boolean hasFocus){
    super.onWindowFocusChanged(hasFocus);
    animation.start();
    //animation.setAlpha(50); //doesn't help

}//end of onWindowFocusChanged

编辑

布局xml(main.xml)代码:

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/start"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/start"
        android:textSize="40sp" />

    <ImageView
        android:id="@+id/imagehost"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="58dp" />

动画绘制.xml:

<?xml version="1.0" encoding="utf-8"?>

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/bgnd1" 
    android:duration="600" />
<item android:drawable="@drawable/bgnd2" 
    android:duration="600" />
<item android:drawable="@drawable/bgnd3"
     android:duration="600" />   


</animation-list>
4

1 回答 1

1

交换 和 的<Button>位置<ImageView>。稍后在 a 中添加的元素RelativeLayout,每个元素的 z-index 由它添加到容器中的顺序决定。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >     

<ImageView
    android:id="@+id/imagehost"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="58dp" />  
<Button
    android:id="@+id/start"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@string/start"
    android:textSize="40sp" />
于 2013-07-30T09:42:22.430 回答