Android 사용자 정의 애니메이션 Dialog 창 효 과 를 불 러 오 는 예제 코드

효과 도
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
우선 팝 업 창 을 만 드 는 배경 입 니 다.
在这里插入图片描述
이거 위 에서 쓰 는 거 예요.
shapebg_5_blue.xml 를 예 로 들 면,다른 세 가 지 는 안의 색깔 이 다 를 뿐 입 니 다.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 <corners android:radius="5dp"/>
 <solid android:color="#1C285B"/>
</shape>
그리고 그림.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
하 나 는 흰색 이기 때문에 보이 지 않 지만 로 컬 폴 더 에 저장 할 수 있 습 니 다.
그리고 팝 업 창 을 만 드 는 스타일 입 니 다.
在这里插入图片描述

<!--    loading dialog -->
 <style name="loading_dialog" parent="android:style/Theme.Dialog">
 <item name="android:windowFrame">@null</item>
 <item name="android:windowNoTitle">true</item>
 <item name="android:windowBackground">@drawable/shape_bg_5_yellow</item>
 <item name="android:windowIsFloating">true</item>
 <item name="android:windowContentOverlay">@null</item>
 </style>
이 android:window Background 의 값 을 통 해 서로 다른 팝 업 창 배경 을 바 꿉 니 다.
그리고 애니메이션 파일 입 니 다.
在这里插入图片描述
이 파일 은 반드시 anim 폴 더 아래 에 두 어야 합 니 다(PS:뭐라고 요?이 폴 더 가 없다 고요?너 없 이 하나만 만들어 라,오 마 이 갓!)
loading_animation.xml 코드 는 다음 과 같 습 니 다.

<?xml version="1.0" encoding="utf-8"?>
<set android:shareInterpolator="false" xmlns:android="http://schemas.android.com/apk/res/android">
 <rotate
 android:interpolator="@android:anim/linear_interpolator"
 android:pivotX="50%"
 android:pivotY="50%"
 android:fromDegrees="0"
 android:toDegrees="+360"
 android:duration="1500"
 android:startOffset="-1"
 android:repeatMode="restart"
 android:repeatCount="-1"/>
</set>
다음은 현실 적 인 내용 의 레이아웃 을 만 들 것 입 니 다.
在这里插入图片描述
레이아웃 코드 는 다음 과 같 습 니 다:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/dialog_view"
 android:orientation="vertical"
 android:layout_width="120dp"
 android:layout_height="120dp"
 android:gravity="center"
 android:padding="10dp">

 <ImageView
 android:id="@+id/iv_loading"
 android:layout_width="40dp"
 android:layout_height="40dp"
 android:src="@mipmap/icon_loading_5" />

 <TextView
 android:id="@+id/tv_loading_tx"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="10dp"
 android:maxLines="1"
 android:text="     ..."
 android:textColor="#FFF"
 android:textSize="14sp" />
</LinearLayout>
다음은 사용자 정의 Dialog 입 니 다.

import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Gravity;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.TextView;

/**
 *      
 */
public class CustomDialog extends Dialog {

 TextView tvLoadingTx;
 ImageView ivLoading;

 public CustomDialog(Context context) {
 this(context, R.style.loading_dialog, "     ...");

 }

 public CustomDialog(Context context, String string) {
 this(context, R.style.loading_dialog, string);
 }

 protected CustomDialog(Context context, int theme, String string) {
 super(context, theme);
 setCanceledOnTouchOutside(true);//        true      false      
 setContentView(R.layout.loading_dialog);//    
 tvLoadingTx = findViewById(R.id.tv_loading_tx);
 tvLoadingTx.setText(string);
 ivLoading = findViewById(R.id.iv_loading);
 //     
 Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(
  context, R.anim.loading_animation);
 //   ImageView    
 ivLoading.startAnimation(hyperspaceJumpAnimation);

 getWindow().getAttributes().gravity = Gravity.CENTER;//    
 getWindow().getAttributes().dimAmount = 0.5f;//           0 ~ 1
 }

	//    
 @Override
 public void dismiss() {
 super.dismiss();
 }
쓰다
在这里插入图片描述
알 아 볼 수 있 겠 지,일 을 끝내 고.
총결산
안 드 로 이 드 사용자 정의 애니메이션 Dialog 팝 업 창 을 불 러 오 는 효과 에 대한 예제 코드 를 소개 합 니 다.더 많은 안 드 로 이 드 사용자 정의 로 Dialog 팝 업 창 을 불 러 오 는 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기