<div>image_view.setOnClickListener(new View.OnClickListener() {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>@Override</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>public void onClick(View v) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>rollDice();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>});</div> <div><br></div> <div> <div>private void rollDice() {</div></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>LinearLayout ll = (LinearLayout) findViewById(R.id.layout1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ll.removeAllViews();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(int i = 0; i < 5; i++){ // 5개의 주사위 이미지뷰를 생성</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int drawable = ... // 이 부분에서 animation drawable을 읽어옵니다. 코드가 길어서 생략하겠습니다. animation drawable은 xml파일로된 시간에따라 바뀌는 이미지 입니다.</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ImageView iv = new ImageView(StartMain.this);</div> <div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>iv.setBackgroundResource(drawable);</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span><span style="font-size:9pt;line-height:1.5;">AnimationDrawable anim = (AnimationDrawable) iv.getBackground();</span></div></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>anim.start();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ll.addView(iv);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Random r1 = new Random();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int random_num = r1.nextInt(1000 + r1.nextInt(2000)); // 1초와 3초사이에 임의로 멈추게 합니다.</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>try{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Thread.sleep(random_num);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}catch(InterruptedException ex){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Thread.currentThread().interrupt();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>}</div> <div><br></div> <div>위와 같이 이미지 뷰(<span style="font-size:9pt;line-height:1.5;">image_view)</span><span style="font-size:9pt;line-height:1.5;">를 클릭했을시 rollDice 를 호출해서 background가 animation인 ImageView(iv)를 생성하여 LinearLayout에 집어 넣게 했습니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;">그리고 일정시간후에 animation이 멈추고 특정 주사위 넘버에서 멈추게 하려고 하는데요. 위 코드를 돌리면 5개의 이미지뷰가 각기 다른시간에 멈추는게 아니라 중간 animation 없이 최종 다이스만 나옵니다.</span></div> <div><br></div> <div>중간 이상한 코드들도 많은데 보시기 쉽게 수정한거라 약간의 오류가 있을수 있습니다. 여튼 이부분에 어떻게 해야 5개의 주사위가 animate하다가 멈추게 할 수 있을가요?? 부가 설명이 필요하시면 리플달아주세요 최대한 상세히 설명해드리겠습니다.</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.