在日常开发过程中,处理一些延迟操作的时候,经常需要显示一个“加载中”对话框来来表示程序正在请求或正在处理。那么如何写一个最简单的动画效果呢?

这里我写了个demo:

MainActivity:

publicclassMainActivityextendsActivity{//ProgressDialog用于显示加载对话框用privateProgressDialogprogressDialog=null;//显示结果用privateEditTexteditText1;//消息处理privateHandlerhandler=newHandler(){publicvoidhandleMessage(android.os.Messagemsg){switch(msg.what){case1://显示加载后的内容editText1.setText("成功了");//加载对话框关闭progressDialog.dismiss();break;default:break;}};};@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);editText1=(EditText)findViewById(R.id.editText1);}publicvoidclick(Viewv){//当按钮点击的时候,此加载中的对话框显示progressDialog=ProgressDialog.show(MainActivity.this,"请稍等...","获取数据中...",true);//开始联网getNet();}privatevoidgetNet(){newThread(){@Overridepublicvoidrun(){super.run();SystemClock.sleep(2000);//发消息handler.sendEmptyMessage(1);}}.start();}}

布局文件:

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="${relativePackage}.${activityClass}"><Buttonandroid:id="@+id/button1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_marginTop="15dp"android:text="Button"android:onClick="click"/><EditTextandroid:id="@+id/editText1"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_below="@+id/button1"android:ems="10"></EditText></RelativeLayout>

运行效果: