android 사 이 드 팝 업 창 필터 코드 구현
먼저 기본 원 리 를 대충 말씀 드 리 겠 습 니 다.사실은 간단 합 니 다.바로 출입 동 효과 입 니 다.변위 로 투명 도 를 높이 는 것 이 좋 습 니 다.
예 를 들 어 당신 의 사 이 드 팝 업 창 은 왼쪽 에 있 습 니 다.그것 은 바로 왼쪽 에서 오른쪽으로 100%(동 효 목표 의 너비 나 높이 를 대표 합 니 다)입 니 다.
하지만 주의해 야 할 것 은:
초기 위 치 는 반드시 마지막 에 표시 해 야 할 위치 입 니 다.이 View 를 Margin 이나 다른 위치 로 옮 기지 마 십시오.그렇지 않 으 면 효과 가 끝 난 후에 보 기 를 클릭 하면 응답 이 없습니다.이때 View 는 초기 위치 에 있 기 때문에 View 를 클릭 하면 애니메이션 만 수 정 된 위치 가 잘못 되 었 습 니 다.속성 애니메이션 을 사용 하지 않 는 한.
다음은 나의 레이아웃 을 살 펴 보고 간단하게 하나 썼 다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<RelativeLayout
android:id="@+id/rel_dialog_back"
android:background="#B3000000"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- -->
<LinearLayout
android:layout_alignParentRight="true"
android:id="@+id/lin_dialog_content"
android:layout_width="400dp"
android:layout_height="match_parent"
android:padding="10dp"
android:background="#FFFFFF"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text=" "
android:textColor="@color/colorAccent"
android:gravity="center"
android:textSize="80sp"
android:layout_gravity="center"/>
</LinearLayout>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
그 다음 에 res/anim 에서 애니메이션 파일 을 쓰 는 것 입 니 다.dialog_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/decelerate_interpolator">
<!-- : 0 1 -->
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" >
</alpha>
<!-- 100% , 0% -->
<translate
android:fromXDelta="100%"
android:toXDelta="0%">
</translate>
</set>
dialog_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/decelerate_interpolator">
<!-- : 0 1 -->
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0" >
</alpha>
<translate
android:fromXDelta="0%"
android:toXDelta="100%">
</translate>
</set>
마지막 으로 코드 가 애니메이션 을 터치 합 니 다:
final Animation anim = AnimationUtils.loadAnimation(this, R.anim.dialog_in);
anim.setDuration(300);
anim.setFillAfter(true);
view.startAnimation(anim );
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
// , , View View.GONE
view.clearAnimation();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
사실은 한 단계 더 올 라 갈 수 있 습 니 다.화면 왼쪽 부분의 제스처 를 감청 할 수 있 습 니 다.누 르 는 점 과 들 어 올 리 는 기점 사이 의 가로 거리 가 일정한 값 에 이 르 렀 을 때 시작 합 니 다.애니메이션 에 입장 하거나 애니메이션 에 등장 하면 제스처 를 통 해 사 이 드 팝 업 창 을 터치 하거나 닫 는 효 과 를 얻 을 수 있 습 니 다.전체적으로 간단 합 니 다.여러분 이 한번 해 보 세 요.이상 은 안 드 로 이 드 가 사 이 드 팝 업 창 필터 코드 를 실현 하 는 상세 한 내용 입 니 다.안 드 로 이 드 사 이 드 팝 업 창 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.