안녕하세요... 공부 시작한지 몇일안되는 초보입니다...


맨 처음 main.xml에 버튼을 전화기의 다이얼 모양으로

1 2 3

4 5 6

7 8 9

* 0 #

이렇게 만들어 주려고 하는데요. 

main.xml파일에 우선, AbsoluteLayout안에 버튼들 12개를 넣었습니다.

그런 다음 이걸 마우스로 끄적끄적 옮겨보면 삐뚤삐뚤하고 이쁘지 않습니다.


그래서 코드로 하려고 하는데요.


버튼들을 Buttons[]라는 배열에 모두 버튼들을 넣었습니다.

그런 다음 

private void ButtonSet() {
  int w = findViewById(R.id.AbsoluteLayout01).getWidth()/3;
  int h = findViewById(R.id.AbsoluteLayout01).getHeight()/4;
 
        int x, y;
  
  for (y=0; y<4; y++) {
   for (x=0; x<3; x++) {
    ButtonNumber[y*3+x+1].layout(x*w, y*h, x*w+w, y*h+h);
   }
  }
}


이렇게 ButtonSet() 이라는 것을 하나 만들고, onCreate에서 ButtonSet(); 이라고 적어서 코드를 실행하였습니다.

그런데, 버튼들이 움직이지 않습니다...ㅠㅠ

혹시나 하여, TextView에 findViewById(R.id.AbsoluteLayout01).getWidth() 값을 넣어보니 0이 출력되더군요;;

 

그래서... findViewById(R.id.AbsoluteLayout01).getWidth() 값이 없어서 버튼들의 위치가 안바뀌나하여 w = 480/3;으로 상수를 넣어보았는데요. 그래도 버튼들의 위치가 바뀌지 않더군요;;

 

어떻게 해야지...버튼들의 위치를 바꿀수 있을까요??

 

제가 원하는거는... 버튼들의 위치를 코드로 지정해 주고싶습니다...