레이아웃에 추가하기 전에 뷰의 높이와 너비를 가져와야합니다. 나는 MeasuredHeight와 MeasuredWidth를 사용하여 뷰를 시도했지만 retursn은 0으로 시도했다. 이것을 해결하기 위해 나를 도울 수 있겠습니까? 코드 아래보기의 높이와 너비를 얻는 방법?
나는 밖으로 시도 :
int height = Column.MeasuredHeight;
int width = Column.MeasuredWidth;
레이아웃에 추가하기 전에 뷰의 높이와 너비를 가져와야합니다. 나는 MeasuredHeight와 MeasuredWidth를 사용하여 뷰를 시도했지만 retursn은 0으로 시도했다. 이것을 해결하기 위해 나를 도울 수 있겠습니까? 코드 아래보기의 높이와 너비를 얻는 방법?
나는 밖으로 시도 :
int height = Column.MeasuredHeight;
int width = Column.MeasuredWidth;
view.getWidth()와 view.getHeight를()는 0을 수신 할 수있는 레이아웃 변경 이벤트를 사용할 필요가
입니다. 이미 사용해 보았습니다. 또한 0을 반환합니다. – Parthiban
View view= LayoutInflater.from(this).inflate(R.layout.activity_main, null, false);
setContentView(view);
int viewWidth = view.getWidth();
int viewHeight = view.getHeight();
코드에 대한 약간의 설명이 유용 할 것입니다. – Sakuto
시도 높이로. 너무 빨리 요청하면 레이아웃이 아직 그려지지 않습니다. 측정 할 레이아웃의 ViewTreeObserver를 사용하십시오.
LinearLayout linearLayout = FindViewById<LinearLayout>(Resource.Id.linearLayout);
ViewTreeObserver vto = linearLayout.ViewTreeObserver;
vto.GlobalLayout += (sender, args) => {
System.Console.WriteLine (linearLayout.Height);
};
레이아웃을 설정하기 전에 원하는 이유는 무엇입니까? –
시도해주세요. http://stackoverflow.com/a/9426895/5577679 – tompadre
@tompadre 업데이트 해 주셔서 감사합니다. Column.Measure (View.MeasureSpec.MakeMeasureSpec (0, MeasureSpecMode.Unspecified), View.MeasureSpec.MakeMeasureSpec (0, MeasureSpecMode.Unspecified)); int colHeight = Column.MeasuredHeight; 이 솔루션을 사용하면 열의 실제 높이가 표시되지 않습니다. – Parthiban