로드 대화 상자(LoadingDialog)
로드 대화 상자(LoadingDialog)
사용법
private LoadingDialog loadingDialog;
public LoadingDialog getLoadingDialog() {
if(loadingDialog == null){
loadingDialog = new LoadingDialog(this);
}
return loadingDialog;
}
:getLoadingDialog().show(" ",true);
:getLoadingDialog().dismiss();
//true or false
2. 코드 디렉터리
LoadingDialog.java 클래스 dialogloading.xml 레이아웃loadingdialog_anim.xml 애니메이션shapeloading_dialog.xml 모양 스타일xml 스타일 태그 그림 자원
3. 코드와 자원
public class LoadingDialog extends Dialog {
public LoadingDialog(Context context) {
super(context, R.style.Loading_Dialog);
setContentView(R.layout.dialog_loading);
}
public void show(String message,boolean cancelable){
show(message,cancelable,null);
}
public void show(String message,boolean cancelable,OnCancelListener cancelListener){
TextView tv= (TextView)findViewById(R.id.message);
//
if(message == null || message.length() == 0){
tv.setVisibility(View.GONE);
}else{
tv.setText(message);
}
//
this.setCancelable(cancelable);
//
this.setOnCancelListener(cancelListener);
//
this.getWindow().getAttributes().gravity = Gravity.CENTER;
WindowManager.LayoutParams lp = this.getWindow().getAttributes();
//
lp.dimAmount = 0.2f;
this.getWindow().setAttributes(lp);
//
try {
this.show();
}catch (Exception e){
e.printStackTrace();
}
}
/** */
public void dismiss(){
try {
super.dismiss();
} catch (Exception e) {
e.printStackTrace();
}
}
/** , */
public void onWindowFocusChanged(boolean hasFocus) {
ImageView imageView = (ImageView) findViewById(R.id.spinnerImageView);
// ImageView
AnimationDrawable spinner = (AnimationDrawable) imageView.getBackground();
//
spinner.start();
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/shape_loading_dialog"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="20dp"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:paddingTop="20dp">
<ImageView
android:id="@+id/spinnerImageView"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@anim/loading_dialog_anim" />
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="Message"
android:textColor="#FFFFFF" />
LinearLayout>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/loading_0"
android:duration="60" />
<item
android:drawable="@drawable/loading_1"
android:duration="60" />
<item
android:drawable="@drawable/loading_2"
android:duration="60" />
<item
android:drawable="@drawable/loading_3"
android:duration="60" />
<item
android:drawable="@drawable/loading_4"
android:duration="60" />
<item
android:drawable="@drawable/loading_5"
android:duration="60" />
<item
android:drawable="@drawable/loading_6"
android:duration="60" />
<item
android:drawable="@drawable/loading_7"
android:duration="60" />
<item
android:drawable="@drawable/loading_8"
android:duration="60" />
<item
android:drawable="@drawable/loading_9"
android:duration="60" />
<item
android:drawable="@drawable/loading_10"
android:duration="60" />
<item
android:drawable="@drawable/loading_11"
android:duration="60" />
animation-list>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ff404040" />
<corners
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
shape>
<style name="Loading_Dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null
- "android:windowIsFloating"
>true
- "android:windowContentOverlay"
>@null
- "android:windowAnimationStyle">@android:style/Animation.Dialog
- "android:windowSoftInputMode">stateUnspecified|adjustPan
- "android:windowBackground">@android:color/transparent
- "android:windowNoTitle">true
style>
– the end –
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.