progressbar自定义帧动画

前言

动画相对于普通的业务代码对性能的要求更高。项目中使用动画,app的交互的效果更加吸引用户

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;
 } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灯塔@kuaidao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值