-결과-
-구조-
-전체코드-
- activity19_main.xml
- translate_up.xml
- translate_down.xml
- Activity19.java
public class Activity19 extends AppCompatActivity {
Animation translateUp;
Animation translateDown;
LinearLayout menuContainer;
boolean isshown = false;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity19_main);
translateUp = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.translate_up);
translateDown = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.translate_down);
translateUp.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
// 애니메이션 끝나는 시점
menuContainer.setVisibility(View.INVISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
menuContainer = findViewById(R.id.menuContainer);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isshown){
menuContainer.startAnimation(translateUp);
}else { // 보이도록
menuContainer.setVisibility(View.VISIBLE);
menuContainer.startAnimation(translateDown);
}
isshown = !isshown; // !<-반대로 바꿔주는거 (boolean이니깐)
}
});
}
}
'■ Android > Tip' 카테고리의 다른 글
[Android] Background 처리(100) - 핸들러(Handler) 설명, 사용법 (UI건드릴 수 있는거) (0) | 2020.03.19 |
---|---|
[Android] 9-Patch-Resizer 사용법 - (이미지 해상도 관리) (0) | 2020.03.18 |
[Android] 애니메이션 - 5.스플래시(Splash) 화면 (0) | 2020.03.08 |
[Android] 애니메이션 - 4.속성 정리 (0) | 2020.03.07 |
[Android] 애니메이션 - 3.Page Sliding(옆으로 메뉴 나오게 하는거) (0) | 2020.03.07 |