안드로이드 개발 질문/답변
(글 수 45,052)
얼마 전에 질문 드린 문제는 대충 해결 봤는데,
다른 문제가 생겼습니다:)
애니메이션을 어떻게 구성해야할 지 모르곘네요.
프레임 레이아웃으로 스크롤 위에 레이아웃 하나가 있고(mRLay, 사진에서 아래쪽 버튼들),
그 레이아웃 Height가 리스트뷰 한 항목을 가려서, 맨 밑의 아이템은 클릭 이벤트를 못받습니다.
그래서 스크롤이 맨 밑에 오면, 뷰가 사라지도록 해 보았는데, 그냥 뿅 하면서 사라지긴 좀 뭐해서 애니메이션을 넣어봤습니다.
alpha는 아무 효과 없는거고, alpha_bar는 사라지는(alpha=0으로) 효과고, reverse_alpha_bar는 생기는(alpha =0에서 1로) 효과입니다.
흐흐;; 쉽게 하자면 그냥 뿅뿅 사라지게 하고 싶은데...
아무래도 이 앱은 좀 완성도 있게 만들고 싶어서...
도움을 부탁드립니다..
온스크롤 리스너
@Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { final RelativeLayout mRLay; mRLay = (RelativeLayout) findViewById(R.id.relativeLayout2); if (visibleItemCount <= 9) { // 스크롤 평소(리스트에 아이템 9까지 들어갑니다)에는 비지블리티 VISIBLE로 mRLay.setVisibility(View.VISIBLE); Animation ani = null; ani = AnimationUtils.loadAnimation(Browser.this, R.anim.alpha); mRLay.startAnimation(ani); } else if (totalItemCount > 0 // 스크롤이 맨 밑에 오면... && firstVisibleItem + visibleItemCount == totalItemCount) { Animation ani = null; ani = AnimationUtils.loadAnimation(Browser.this, R.anim.alpha_bar); mRLay.startAnimation(ani); ani.setAnimationListener(new AnimationListener() { @Override public void onAnimationEnd(Animation Animation) { mRLay.setVisibility(View.GONE); }
온스크롤 리스너
@Override public void onAnimationRepeat(Animation animation) { }
온스크롤 리스너
@Override public void onAnimationStart(Animation animation) { } });
온스크롤 리스너
} else { // 이도 저도 아니면 Animation ani = null; ani = AnimationUtils.loadAnimation(Browser.this, R.anim.reverse_alpha_bar); mRLay.startAnimation(ani);
온스크롤 리스너
ani.setAnimationListener(new AnimationListener() { @Override public void onAnimationEnd(Animation Animation) {
온스크롤 리스너
}
온스크롤 리스너
@Override public void onAnimationRepeat(Animation animation) { }
온스크롤 리스너
@Override public void onAnimationStart(Animation animation) { mRLay.setVisibility(View.VISIBLE); } }); } }
이렇게 됩니다.