900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > android 自定义loading android_自定义Loading框

android 自定义loading android_自定义Loading框

时间:2023-06-03 17:04:29

相关推荐

android 自定义loading android_自定义Loading框

代码

publicclassCustomLoadingDialogextendsDialog{

@ViewInject(R.id.custom_loading_dialog_indicator)

privateImageViewindicatorIv;

@ViewInject(R.id.custom_loading_dialog_message)

privateTextViewmessageTv;

privateCustomLoadingDialog(Contextcontext,inttheme){

super(context,theme);

}

publicstaticCustomLoadingDialogcreateLoading(Contextcontext){

CustomLoadingDialogdialog=newCustomLoadingDialog(context,R.style.CustomDialog);

Viewcontent=LayoutInflater.from(context).inflate(

R.layout.custom_loading_dialog,null);

ViewUtils.inject(dialog,content);

dialog.addContentView(content,newViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,

ViewGroup.LayoutParams.WRAP_CONTENT));

returndialog;

}

@Override

publicvoidonWindowFocusChanged(booleanhasFocus){

if(hasFocus){

indicatorIv.startAnimation(AnimationUtils.loadAnimation(

getContext(),R.anim.custom_loading_dialog));

}

}

publicvoidsetMessage(Stringmessage){

if(!TextUtils.isEmpty(message)){

messageTv.setVisibility(View.VISIBLE);

messageTv.setText(message);

}else{

messageTv.setVisibility(View.GONE);

}

}

}

资源文件

@null

@android:color/transparent

true

true

true

true

style="@style/CustomDialogBackground"

android:minWidth="240dp"

android:padding="@dimen/Xlarge"

>

android:id="@+id/custom_loading_dialog_indicator"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/loading_indicator"/>

android:id="@+id/custom_loading_dialog_message"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:visibility="gone"

android:layout_marginTop="@dimen/medium"

android:singleLine="true"

android:maxWidth="200dp"

android:textColor="@android:color/black"

android:textSize="@dimen/text_noraml"/>

android:shareInterpolator="false">

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"/>

使用

publicvoidshowLoadingDialog(){

if(loadingDialog==null){

loadingDialog=CustomLoadingDialog.createLoading(this);

}

loadingDialog.setMessage(getResources().getString(R.string.loading_message_default));

loadingDialog.show();

}

publicvoidshowLoadingDialog(Stringmessage){

if(loadingDialog==null){

loadingDialog=CustomLoadingDialog.createLoading(this);

}

if(!TextUtils.isEmpty(message)){

loadingDialog.setMessage(message);

}else{

loadingDialog.setMessage(getResources().getString(R.string.loading_message_default));

}

loadingDialog.show();

}

publicvoidhideLoadingDialog(){

if(loadingDialog!=null&&loadingDialog.isShowing()){

loadingDialog.dismiss();

}

}

publicvoidsetLoadingDialogCancel(booleancanCancel){

loadingDialog.setCancelable(canCancel);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。