매우 간단한 사용자 정의보기 (onMeasure()
)가 오버라이드되었습니다. 내 onMeasure()
은 배경 Drawable에 따라 크기를 결정합니다. 보기가 xml에서 처음 생성 될 때 모든 것이 정상적으로 작동합니다. 그런 다음 프로그램 적으로 다른 배경을 설정하여보기의 크기를 조정해야합니다. 보기는 이제 배경이 다르지만 크기가 조정되지 않고 onMeasure()
이 호출되지 않습니다.View.onMeasure()가 호출되지 않았습니다.
나는 모든 것을 시도했다 - requestLayout()
, forceLayout()
, invalidate()
, setLayoutParams()
- 아무 효과가 없었다. 내가 도대체 뭘 잘못하고있는 겁니까? 보기의 크기를 조정하기 만하면됩니다.
예, 저는 @Override를 사용하고 있습니다 - 내 onMeasure()가 활동이 생성 될 때 두 번 호출되는 것을 봅니다. 그러나 View.setBackground() 후에 호출되지 않습니다. – fhucho
당신이 링크 한 기사는 requestLayout()이 작동해야한다고 제안하지만 그렇지 않습니다. – fhucho