Programing

Android에서보기가 보이는지 어떻게 확인할 수 있습니까?

lottogame 2020. 5. 28. 07:56
반응형

Android에서보기가 보이는지 어떻게 확인할 수 있습니까? [복제]


이 질문에는 이미 답변이 있습니다.

visibilityAndroid에서 다음과 같이 보이지 않게 설정 했습니다.

myImageView.setVisibility(View.INVISIBLE);

그리고 그것을 보이게하려면 :

myImageView.setVisibility(View.VISIBLE);

이제 myImageView보이는지 여부를 모르겠습니다 . 어떻게 다음과 같이 확인할 수 있습니까 ?

if (myImageView IS VISIBLE) {
    Do something
} else {
    Do something else
}

어떻게해야합니까? 괄호 안에 무엇을 써야합니까?


View.getVisibility ()는 가시성을 얻지 만 단순한 참 / 거짓은 아닙니다. 뷰의 가시성은 세 가지 중 하나로 설정 될 수 있습니다.

View.VISIBLE 보기가 표시됩니다.

View.INVISIBLE 보기는 보이지 않지만 일반적으로 걸리는 간격은 계속 사용됩니다. "보이지 않는"

View.GONE 뷰가 사라져서 볼 수 없으며 "스팟"을 차지하지 않습니다.

따라서 귀하의 질문에 대답하기 위해 다음을 찾고 있습니다.

if (myImageView.getVisibility() == View.VISIBLE) {
    // Its visible
} else {
    // Either gone or invisible
}

아니면 단순히 사용할 수 있습니다

View.isShown()

이미지가 레이아웃의 일부인 경우 "View.VISIBLE"일 수 있지만 이것이 보이는 화면의 경계 안에있는 것은 아닙니다. 그것이 당신이 추구하는 것이라면; 이것은 작동합니다 :

Rect scrollBounds = new Rect();
scrollView.getHitRect(scrollBounds);
if (imageView.getLocalVisibleRect(scrollBounds)) {
    // imageView is within the visible window
} else {
    // imageView is not within the visible window
}

해당 메소드 getVisibility ()를 사용합니다 . 접두사 'get'및 'set'이있는 메소드 이름은 특성을 나타내는 Java의 규칙입니다. 일부 언어에는 속성에 대한 실제 언어 구성이 있지만 Java는 그 중 하나가 아닙니다. 따라서 'setX'라는 레이블이 붙은 것을 볼 때 99 %가 값을 알려주는 해당 'getX'가 있는지 확신 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/3791607/how-can-i-check-if-a-view-is-visible-or-not-in-android

반응형