안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요... 공부 시작한지 몇일안되는 초보입니다...
맨 처음 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;으로 상수를 넣어보았는데요. 그래도 버튼들의 위치가 바뀌지 않더군요;;
어떻게 해야지...버튼들의 위치를 바꿀수 있을까요??
제가 원하는거는... 버튼들의 위치를 코드로 지정해 주고싶습니다...




gridview 를 이용하시는게 좋을듯합니다.