2014-11-24 6 views
0

xml의 음수 여백 위쪽에 Imageview를 숨겼습니다. 그리고이 뷰는 처음부터 음의 위치에서 스크린으로 슬라이드합니다.화면 위의 ImageView 숨기기/프로그래밍 방식으로 Y 위치 부정적인 설정

하지만 난이 프로그램을 숨길 때, 그것은 단지 내가이

ImageView tip = (ImageView) findViewById(R.id.tipscreen); 
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) tip.getLayoutParams(); 
params.setMargins(0, 0-350, 0, 0); 
tip.setLayoutParams(params); 

//and i've also tried 
tip.setY(-350); 

아무것도 작품 같은 음수에 여백을 설정하려고했습니다 0

y 위치로 설정할 수 있습니다 , 그냥 위치를 0으로 설정합니다.

제 질문은 퍼지로 어떻게 이미지 뷰의 y 위치를 -350으로 설정합니까?

+0

필요하십니까? 화면에서 사라지거나 미끄러지 길 원합니까? – Galax

+0

그래, 나중에 슬라이드 할 수 있도록 화면 외부에 있어야합니다. 나는 그것을 지금 풀고 대답을 올릴 것이다. –

+0

그래,보기 애니메이션 (http://developer.android.com/guide/topics/graphics/view-animation.html)을 살펴 봐야한다. 고정되어 있어도 슬라이드 안팎으로 움직이는데 도움이 될 수있다. , scaling, etc. – Galax

답변

0

여백을 설정하는 대신 android.view.View.setTop (int top)을 사용할 수 있습니다.

+0

나는 그것을 시도했다. 그러나 화면에 다시 움직이게되면 버그가 생기고 이미지는 절반이고 픽셀은 온통 이상했다. : –

1

음수를 처리 할 필요가 없습니다. 보기를 슬라이드하려는 경우, 원하는 위치에 배치하고 애니메이션을 사용할 수 있습니다. 상단에서 슬라이드하는 것은 기본 애니메이션이 아니지만 직접 작성할 수 있습니다.

그런 다음 View.setVisible(View.VISIBLE)View.setVisible(View.INVISIBLE)을이 애니메이션과 함께 사용하여 원하는 효과를 얻을 수 있습니다. 당신이 조사해야하는 애니메이션은 TranslateAnimation과 관련된 것입니다. 자세한 내용은 Animating Layout Changes URL에서 뷰 애니메이션을 참조 할 수 있습니다.

+0

사실 애니메이션이 아니며 터치 이벤트에 의존한다. countDownTimer를 통해 위치를 변경합니다. 하지만 도움을 주셔서 감사합니다하지만 난 그것을 해결 –

0

해결했습니다.

음수를 setY() 메서드에 넣으면 현재 위치에서 음수를 뺍니다. 그래서 간단히 변경했습니다.

tip.setY(0-350); 

지금 울고 있습니다. 다른 누군가가 이것을 유용하게 사용할 수 있습니다. : ')

+0

그 여전히'setY()'메서드에서 음수를 넣습니다. 수학 방정식이 먼저 평가 된 다음 메서드가 호출됩니다. 공유할만한 가치가있는 뭔가가 있었습니까? –

+0

그게 유일한 변화 였어. 그것은 단지 내가 0을 넣지 않았다면 그것은보기가 현재 어떤 y 위치에서 350을 뺍니다 만, 절대 상단 (0)에서 -350이되기를 원했습니다. –

관련 문제