2016-10-28 2 views
0

전체 페이지를 차지하는 AbsoluteLayout을 갖 춥니 다.AbsoluteLayout을 사용하는 위치 지정 요소

UI를 내가 레이블을 만들어 240에 그것을 배치 480

와 폭을보고 바로 맞은 편은 절반 방법 예상

 titleLabel.text = "Label"; 
     titleLabel.width = 20; 
     titleLabel.height = 20; 

     layout.addChild(titleLabel); 

     AbsoluteLayout.setLeft(titleLabel, "240"); 
     AbsoluteLayout.setTop(titleLabel, "20");` 

오프셋?

그러나 오른쪽 가장자리 가까이에 표시됩니다. 사각형으로 라벨을 고려

조금 혼란 ...

답변

0

setLeft는 전경과 비교 사각형의 왼쪽을 취할 것입니다. 귀하의 경우 부모보기의 너비가 480이고 하위보기 인 setLeft (레이블은 240)입니다. 왼쪽면이 위치 240에서 시작하여 레이블이 렌더링되고 나머지 레이블이 그려집니다 그걸 바탕으로

예를 들어 레이블은 (50)의 폭이 그럼 당신은 그것을 240 - 50/2 = 215를 설정해야 있습니다

AbsoluteLayout.setLeft(titleLabel, "215") 
+0

그래, 난 setLeft() 중간 지점에서 뷰의 왼쪽/시작 가장자리를 설정하려면 (하지 기대 가운데) -보기가 오른쪽 가장자리에 훨씬 가깝습니다. 실제로 setLeft (300)를 수행하면 페이지의 오른쪽 옆에 뷰의 오른쪽 가장자리가 생깁니다. 실제로는 320이라고 가정합니다. DPI 문제 일 수 있습니까? – dashman

+0

dpi 문제가 발생했습니다. 나는 platform.screen.mainScreen.scale에 의해 x를 나눠서 예상되는 위치를 얻는다. 감사. – dashman