我已经搜索过堆栈溢出但仍然遇到此问题。
我想在我的应用上显示Button
,使用AnimationDrawable
作为我的背景。我关注了Android Dev页面(http://developer.android.com/guide/topics/graphics/drawable-animation.html)并且能够使动画生效。但是,我的按钮完全隐藏了。用户仍然可以单击它,但背景动画可视地隐藏它,就好像没有按钮一样。
我尝试了setAlpha
,但将其应用到我的'AnimationDrawable'模糊了Drawable
“电影卷中的3张图片”。此外,屏幕从黑色开始,需要很长时间才能逐渐达到设置的不透明度。它首先查看它是一个内存问题,但截至目前,我的应用只有一个Activity
,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
修改
layout 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" />
animationdrawable.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>
答案 0 :(得分:1)
交换<Button>
和<ImageView>
的位置。稍后在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" />