게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] 안드로이드 코딩 질문
게시물ID : programmer_7720짧은주소 복사하기
작성자 : 케빈ah
추천 : 0
조회수 : 858회
댓글수 : 14개
등록시간 : 2015/01/20 12:28:00
옵션
  • 본인삭제금지
image_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rollDice();
}
});

private void rollDice() {
LinearLayout ll = (LinearLayout) findViewById(R.id.layout1);
ll.removeAllViews();
for(int i = 0; i < 5; i++){ // 5개의 주사위 이미지뷰를 생성
int drawable = ... // 이 부분에서 animation drawable을 읽어옵니다. 코드가 길어서 생략하겠습니다. animation drawable은 xml파일로된 시간에따라 바뀌는 이미지 입니다.
ImageView iv = new ImageView(StartMain.this);
iv.setBackgroundResource(drawable);
         AnimationDrawable anim = (AnimationDrawable) iv.getBackground();
anim.start();
ll.addView(iv);

Random r1 = new Random();
int random_num = r1.nextInt(1000 + r1.nextInt(2000)); // 1초와 3초사이에 임의로 멈추게 합니다.

try{
Thread.sleep(random_num);
}catch(InterruptedException ex){
Thread.currentThread().interrupt();
}
}
}

위와 같이 이미지 뷰(image_view)를 클릭했을시 rollDice 를 호출해서 background가 animation인 ImageView(iv)를 생성하여 LinearLayout에 집어 넣게 했습니다.
그리고 일정시간후에 animation이 멈추고 특정 주사위 넘버에서 멈추게 하려고 하는데요. 위 코드를 돌리면 5개의 이미지뷰가 각기 다른시간에 멈추는게 아니라 중간 animation 없이 최종 다이스만 나옵니다.

중간 이상한 코드들도 많은데 보시기 쉽게 수정한거라 약간의 오류가 있을수 있습니다. 여튼 이부분에 어떻게 해야 5개의 주사위가 animate하다가 멈추게 할 수 있을가요?? 부가 설명이 필요하시면 리플달아주세요 최대한 상세히 설명해드리겠습니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호