先简单描述一下需求,有一个Button,一个ImageView,我想实现每次按按钮就把图片切换三帧。从图片01到图片02到图片03,再回到图片01。下次按按钮再来一次。
我自己写了一下,但是没有效果
public void onClick(View v) {
//
txtTest.setText("lalala");
try{
  Thread thread = Thread.currentThread();
  thread.sleep(1500);//暂停1.5秒后程序继续执行
  imgActor.setImageResource(R.drawable.actor1_2);
  thread.sleep(1500);//暂停1.5秒后程序继续执行
  imgActor.setImageResource(R.drawable.actor1_3);
}catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}

}请指点该如何精确控制呢?

解决方案 »

  1.   

    你的可以用setstylesheet来实现吧,具体如下:
    yesbutton->setStyleSheet("QPushButton{background-image: url(:/images/ok/ok-1.png);border-style:flat;background-attachment:fixed;}"
                                 "QPushButton:hover{background-image: url(:/images/ok/ok-2.png);border-style:flat;background-attachment:fixed;}"
                                 "QPushButton:pressed{background-image: url(:/images/ok/ok-3.png);border-style:flat;background-attachment:fixed;}");
    记住把三个图片放在资源文件中。
    不知道是不是这个意思?
      

  2.   

    handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    imgActor.setImageResource((R.drawable.actor1_2);
                }
            }, 1500);
            
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    imgActor.setImageResource((R.drawable.actor1_3);
                }
            }, 3000);
            
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    imgActor.setImageResource((R.drawable.actor1_1);
                }
            }, 4500);