progressbar自定义帧动画
1.自定义帧动画。贴上代码
findViewById(R.id.animq).setOnClickListener(this);
弹出dialog设置
private void progressbar(Context context,int layout) {
mDialog = new AlertDialog.Builder(progressbar.this).create();
//mDialog.setOnKeyListener(keyListener);
mDialog.show();
// 注意此处要放在show之后 否则会报异常
mDialog.setContentView(layout);
}
执行动作--联网操作
@Override
public void onClick(View arg0) {
progressbar(this,R.layout.loading_process_dialog_anim);
new Thread(new Runnable() {
@Override
public void run() {
SystemClock.sleep(2000);
mDialog.dismiss();
跳转动作------------------------>
}
}).start();
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<ProgressBar
android:id="@+id/loading_process_dialog_progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="false"
android:indeterminateDrawable="@anim/loading" />
<!--
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/loading" />
-->
</LinearLayout>
帧动画资源
<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="150" android:drawable="@drawable/loading_01" />
<item android:duration="150" android:drawable="@drawable/loading_02" />
<item android:duration="150" android:drawable="@drawable/loading_03" />
<item android:duration="150" android:drawable="@drawable/loading_04" />
<item android:duration="150" android:drawable="@drawable/loading_05" />
<item android:duration="150" android:drawable="@drawable/loading_06" />
<item android:duration="150" android:drawable="@drawable/loading_07" />
</animation-list>
注册登录 60秒倒计时
private TextView textView;
new Thread(new MyThread()).start(); //oncreat( ) 开启倒计时
final Handler handler = new Handler(){ // handle
public void handleMessage(Message msg){
switch (msg.what) {
case 1:
recLen--;
textView.setText("" + recLen);
}
super.handleMessage(msg);
}
};
public class MyThread implements Runnable{ // thread
@Override
public void run(){
while(isprogress()){
try{
Thread.sleep(1000); // sleep 1000ms
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}catch (Exception e) {
}
}
}
}
/* 倒计时结束*/
private boolean isprogress() {
if(recLen<=0){
return false;
}
return true;
}