2
이것이 문제입니다.
처음 실행했을 때의 애니메이션이 작동하지 않습니다. 이유가 없습니다.
처음에는 애니메이션을 위해 xml을 사용했지만 애니메이션은 처음 시도에서만 다시 작동하므로 자바 코드에서 모든 것을 변경하고 변경했습니다.
하지만 이제는 처음 시도 할 때를 제외하고 항상 실행됩니다.
2.2 (froyo) 버전에서 작업해야한다고 정리해야합니다.첫 번째 실행시 Android 애니메이션이 작동하지 않음
public class HomePage extends Activity {
protected View menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page_portrait);
ImageButton plus = (ImageButton) findViewById(R.id.button1);
menu = (View) findViewById(R.id.layoutmenu);
plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//menu.clearAnimation();
Animation animation = new TranslateAnimation(0,-menu.getWidth(),0,0);
menu.clearAnimation();
if(menu.isShown()) {
animation.setDuration(500);
animation.setFillAfter(true);
menu.setAnimation(animation);
menu.setVisibility(View.GONE);
}
else {
animation.reset();
animation = new TranslateAnimation(-menu.getWidth(),0,0,0);
animation.setDuration(500);
animation.setFillAfter(true);
menu.setVisibility(View.VISIBLE);
menu.setAnimation(animation);
}
}
});
}
}
실마리가 있습니까?
수정
그래서 코드가 변경되었지만 전혀 작동하지 않습니다.
public void onClick(View v) {
//menu.clearAnimation();
Animation animation;
menu.clearAnimation();
if(menu.isShown()) {
//animation.reset();
animation = new TranslateAnimation(0,-menu.getWidth(),0,0);
animation.setDuration(500);
animation.setFillAfter(true);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
menu.setVisibility(View.GONE);
}
});
menu.setAnimation(animation);
menu.setVisibility(View.GONE);
}
else {
//animation.reset();
animation = new TranslateAnimation(-menu.getWidth(),0,0,0);
animation.setDuration(500);
animation.setFillAfter(true);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
menu.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
menu.setVisibility(View.VISIBLE);
}
});
menu.setAnimation(animation);
//menu.setVisibility(View.VISIBLE);
}
animation.reset();
}
});
오, 잘 .. 변경되었지만 전혀 작동하지 않습니다. 어떤 생각? [새 코드 게시] –
줄을 제거하십시오 menu.setVisibility (View.GONE); 듣는 사람 밖에있다. – Pavandroid
아직 없습니다. 전혀 작동하지 않습니다! –