public class MainActivity extends Activity {
private boolean suspend = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setBackgroundResource(R.drawable.imagelong2);
final ClipDrawable drawable = (ClipDrawable) imageView.getDrawable();
ToggleButton toggleButton = (ToggleButton) findViewById(R.id.togbtn);
toggleButton.setText("播放");
toggleButton.setTextOn("暂停");
toggleButton.setTextOff("播放");
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (suspend == true) {
//获取图片所显示的ClipDrawable对象
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what == 0x123) {
drawable.setLevel(drawable.getLevel() + 1);
}
}
};
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
Message msg = new Message();
msg.what = 0x123;
handler.sendMessage(msg);
if (drawable.getLevel() >= 10000) {
timer.cancel();
}
}
}, 0, 1);
suspend = false;
if (suspend == false) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
suspend = true;
}
}
});
}
}
写了一个 ClipDrawable的进度条 想控制暂停让线程等待出现错误Skipped 127 frames! The application may be doing too much work on its main thread. 只有加了Thread.sleep(2000);以后在有这个问题,会很卡,请问我这个要怎么改啊