2012-04-14 2 views
0

애니메이션이있는 버튼 (선형 배치에 배치)이 있습니다. 애니메이션이 완료되면 (간단한 translateAnimation) 애니메이션 버튼이 활성화되기를 원합니다. 애니메이션을 사용하면 버튼 드로어 블에 효과가 있다는 것을 알게되었으므로 클릭 할 수있는 "장소"는 원래 위치에 그대로 있습니다.애니메이션 후에 버튼의 위치를 ​​설정하는 방법은 무엇입니까?

layout= (LinearLayout) findViewById (R.id.newitemtext); 
layout.setBackgroundResource(R.drawable.white_box); 
btn = (Button) findViewById (R.id.btn); 
moveLefttoRight = new TranslateAnimation(0,0 , 0, 200); 
      moveLefttoRight.setDuration(1000); 
      moveLefttoRight.setFillAfter(true); 


      animbutton.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        layout.startAnimation(moveLefttoRight); 
        layout.setEnabled(true); 


       } 
      }); 

btn.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        Log.i("TAG", "CCIK"); 


       } 


}); 

btn 버튼은 LinearLayout 레이아웃에 있습니다. 애니메이션 후에 어떻게 위치를 설정할 수 있습니까? setPadding을 사용하려고했지만 성공하지는 못했습니다. 미리 감사드립니다. 지도 뷰 PARAMS를 업데이트 할 수

+0

장소 그것을 제대로 처음부터 (그러나 사라/보이지 않는)와 (이 볼 수 있도록) 애니메이션을 시작 그래서 당신이 버튼을 표시 할 위치 *에서 * 이동하고 버튼이 이미 실제로 여기서 끝? – Jens

+0

그건 내 경우에는 불가능합니다 :) 어쨌든 좋은 해결 방법 : D 조 –

답변

0

사용 View.setLayoutParams()는 - 그것은보기는 params를 업데이트 할 수있는 방법으로 내부에 레이아웃의 종류에 따라 다를 수 있습니다. 보기가 LinearLayout에있는 경우 예를 들어, 당신은 단지 LinearLayout (등 중력, 무게, 폭, 높이,) 관련 PARAMS을 조정할 수있을 것입니다 그래서 당신은 절대 X/Y를 조절 할 수 없을 것입니다 coords. RelativeLayout과 같은 것으로 전환하여 다른보기의 위치를 ​​기반으로 최종 대상으로보기를 이동하려고 할 수 있습니다.

관련 문제