如题,想实现,当点击一个控件的时候,后台每过100millis就减少控件的高度,最后再隐藏控件。
我写的代码
@Override
public void onClick(View v) {
String pos = (String)v.getTag();
TableRow tr = (TableRow)findViewById(R.id.row_one_hide);
GridView gv = (GridView) tr.getChildAt(0);
LayoutParams params = gv.getLayoutParams();
int height = 100;
while(height > 0){
params.height = height;
height -= 12;
try {
Thread.currentThread().sleep(100);
gv.setLayoutParams(params);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
params.height = params.WRAP_CONTENT;
gv.setLayoutParams(params);
tr.setVisibility(View.GONE);
}
为什么这段代码的效果是线程停一段时间(这段时间为Thread.sleep()语句执行的次数*100 millis),然后这个控件就瞬间消失,不是每隔一段时间消失一小段(12px),最终才消失。
求高手解决这个问题
------解决方案--------------------
我想说的都知道了,楼主,你知道的太多了!
ps:就你说的这么做,不要放在主线程,要不然就会出现你上面出现的问题