안 드 로 이 드 가 google now 효 과 를 모방 한 호흡 버튼

호흡 버튼 은 제 가 최초 로 view 에 애니메이션 효 과 를 추가 하 는 수 요 를 접 한 것 입 니 다.안 드 로 이 드 개발 에 참 가 했 을 때 예 쁜 음성 버튼 효 과 를 디자인 하 라 고 요구 해서 이런 성 과 를 얻 었 습 니 다.그러나 나중에 방안 을 바 꾸 었 습 니 다.그래서 저 는 이 버튼 을 사용자 정의 버튼 으로 밀봉 하지 않 았 습 니 다.본 고 는 주로 애니메이션 을 합 리 적 으로 조합 하여 재 미 있 는 애니메이션 효 과 를 실현 하 는 것 을 보 여 주 는 것 이 하나의 사고 일 뿐이다.
먼저 위의 그림:

이 효 과 를 실현 하 는 데 중요 한 것 은 우리 가 이런 동태 적 인 호흡 효 과 를 어떻게 실현 해 야 하 는 지 하 는 것 이다.비 선형 운동 이기 때문에 직접적 으로 실현 하 는 것 이 좀 번거롭다.특히 내 가 막 입 행 한 풋내기 에 게 는.다행히 안 드 로 이 드 SDK 는 interpolator 속성 을 제공 합 니 다.이 속성 을 accelerate 로 설정 합 니 다.decelerate_interpolato 는 가속 효 과 를 실현 하여 애니메이션 을 더욱 풍만 하고 활력 있 게 보일 수 있다.
우선,우 리 는 세 개의 anim 파일 이 필요 하 다.
입장 효과 anim:

<?xml version="1.0" encoding="utf-8"?>
  <set xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/decelerate_interpolator"
  android:shareInterpolator="true">
  <scale 
    android:fromXScale="0.0"
    android:toXScale="0.9"
    android:fromYScale="0.0"
    android:toYScale="0.9"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="1000"/>
</set>
호흡 효과 anim:

<?xml version="1.0" encoding="utf-8"?>
  <set xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/accelerate_decelerate_interpolator"
  android:shareInterpolator="true">
  <scale
    android:fromXScale="0.9"
    android:toXScale="1.0"
    android:fromYScale="0.9"
    android:toYScale="1.0"
    android:duration="1500"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:repeatMode="reverse"/>
</set>
퇴장 효과 anim:

 <?xml version="1.0" encoding="utf-8"?>
  <set xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/accelerate_interpolator"
  android:shareInterpolator="true">
  <scale 
    android:fromXScale="0.95"
    android:toXScale="0.0"
    android:fromYScale="0.95"
    android:toYScale="0.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="1000"/>
</set>
그 다음 에 자바 코드 입 니 다.코드 는 간단 합 니 다.MainActivity 에서 버튼 에 클릭 이 벤트 를 설정 하여 애니메이션 시작->호흡 애니메이션 실행->대화 종료 환기.시작 과 수신 애니메이션 을 감청 하고 실행 이 끝 난 후에 배경 을 표시 하고 숨 기 는 설정 을 완성 합 니 다.부분 코드:

private void initView() {
    voice.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        if (!isVisible) {
          back.startAnimation(animationIn);
          isVisible = true;
        } else {
          back.startAnimation(animationExit);
          isVisible = false;
        }

      }
    });

}
Animtion 애니메이션 관련 부분 코드

 //    
animationIn.setAnimationListener(new Animation.AnimationListener() {

      @Override
      public void onAnimationStart(Animation animation) {

      }

      @Override
      public void onAnimationRepeat(Animation animation) {

      }

      @Override
      public void onAnimationEnd(Animation animation) {
        back.startAnimation(animationVoice);  //      
        back.setVisibility(View.VISIBLE);
      }
    });

    animationExit.setAnimationListener(new Animation.AnimationListener() {
      @Override
      public void onAnimationStart(Animation animation) {

      }

      @Override
      public void onAnimationEnd(Animation animation) {
        back.clearAnimation(); //    
        back.setVisibility(View.INVISIBLE);
      }

      @Override
      public void onAnimationRepeat(Animation animation) {

      }
    });
자,호흡 버튼 하나 면 됩 니 다.관심 있 는 사람 은 호흡 버튼 을 봉 하여 사용자 정의 버튼 으로 사용 할 수 있 습 니 다.마지막 으로 github 링크 를 첨부 합 니 다BreathButton  
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기