본문 바로가기

소프트웨어/Android/Java/Ndk

android] layout getWidth() return 0

FrameLayout이나 Linear나 View에서 getWidth()를 했을때 0이 리턴될 때 해결법


이유는 컴포넌트(레이아웃)이 UI에 붙지 않았는데 콜해서..


그래서 컴포넌트의 post를 이용해서 layout이 다 붙으면 그 때 작업을 수행하게 하면 된다.


고려할 건 getMeasuredWidth() 매서드를 이용해야 한다는것!




frameGraph = (FrameLayout)findViewById(R.id.frameGraph);
        

        frameGraph.post(new Runnable() {			
			@Override
			public void run() {
				Log.d(" "+frameGraph.getMeasuredWidth());
				
			}
		});