[问题] imageView图片变换问题

楼主: yukihello (HelloKiKi)   2018-05-24 11:26:15
想请问...
我有三个imageView(以下用iV1、2、3代替)
然后有A B两张图片,三个imageView默认都是A图
我需要依序将图片换成B图,但是到下一个iV的时候前一个iV要换回A图
流程大概是这样
iV1=B iV2=A iV3 =A -> iV1=A iV2=B iV3=A ->iV1=A iV2=A iV3=B
设定步数决定最后一定会有一张图是B图。
但是我实作后画面的显示不会有中间的变换
直到程式停止后才会显示最后的结果
i为步数、nowpos是定位用
try{
int[] iVid = {R.id.iv1,R.id.iv2,R.id.iv3}
for(int i = 0 ; i<10;i++){
if(i > 3){nowpos = i%3-1;}else{nowpos=i;}
switch (iVid[nowpos])
{
case R.id.vI1:
vI3.setImageResource(A图);
vI1.setImageResource(B图);
break;
case R.id.vI2:
vI1.setImageResource(A图);
vI2.setImageResource(B图);
break;
case R.id.vI3:
vI2.setImageResource(A图);
vI3.setImageResource(B图);
break;
}
Thread.sleep(1000);
}}catch (InterruptedException e){e.printStackTrace();}
程式大概是这样 , 请问各位先进 可以指导一下小弟吗 谢谢Q_Q
作者: kobe8112 (小B)   2018-05-24 11:59:00
话说你switch怎么少一个break?
作者: erty0402 (缺副驾驶)   2018-05-24 12:19:00
sleep不好吧,用sendmessagedelayed试试
作者: andy2151 (阿鸿)   2018-05-24 12:34:00
UI相关要在mainthread喔
作者: t52101t (五子棋)   2018-05-24 12:49:00
switch (imgview的id) id的变换写在哪里呢?另外如楼上说的 UI的设置要写在MainThread中
作者: andy2151 (阿鸿)   2018-05-24 13:39:00
就你的程式码看起来 通常用Thread.sleep不会用在MainThread, 所以如果在非MainThread里做UI相关会有错误

Links booklink

Contact Us: admin [ a t ] ucptt.com