-
Title:
-
Description:
-
코딩을 하기에 앞서,
본 문제에 대해 답을 할 것입니다.
-
저는 단지 두 가지의
뷰 그룹들만을 알고 있습니다.
-
[LinearLayouts], [RelativeLayouts]
-
이곳에서의 키워드는 이 두 가지들이
동일한 여백을 갖는다는 것입니다.
-
[layout weight]의 사용은 이를
간편하게 할 수 있도록 합니다.
-
자 이제 다음으로 넘어가
코드를 살펴보도록 합시다.
-
좋습니다. 저는 더 이상 자바를
사용하지 않을 것이기 때문에
-
[activity_main.xml]으로 넘어가겠습니다.
-
여기에 XML 파일이 있습니다.
-
따라서 이 모든 코드들을 다른
[LinearLayout]에 넣는 것으로 시작하겠습니다.
-
이것은 저의 작은 [LinearLayouts]들에
대한 [parent] [LinearLayout]입니다.
-
그리고 이 두 열 들을 이곳
위쪽으로 올리겠습니다.
-
왜냐하면 이것들을 [root view]에 첨부하고
[closing brace]에 더하기 위해서 입니다.
-
좋습니다. 안드로이드는 자동으로
이곳에 닫는 태그를 만들었습니다.
-
자 이제 다음 단계로 넘어가
-
이 닫는 태그를 자르도록 하겠습니다.
바닥까지 스크롤을 내리고 붙여 넣으십시오.
-
자 이제 붉은색의 [squiggly line]이 생겼습니다.
그리고 오류를 살펴보면,
-
[layout_height]와 [layout_width]의
규정이 필요하다는 것을 알 수 있습니다.
-
이런!
좋습니다. 이를 해결하도록 합시다.
-
이것은 [root view] 이므로, 다음에
[match_parent]를 만들겠습니다.
-
좋습니다.
-
하위 [LinearLayout]의 주변에
하나의 [LinearLayout]을 만들었습니다.
-
프리뷰를 살펴보면,
잘 만들어 졌습니다.
-
자 이제 다음으로 할 일은
A팀 [LinearLayout]의 모든 내용을
-
복사하여 A팀 바로 아래 붙여 넣는
것입니다.
-
그리고 이는 B팀의
[LinearLayout]이 됩니다.
-
아직은 조금 정렬이 되지
않은 듯 합니다.
-
따라서 [Cmd+A]를 할 것입니다.
또는 모두 선택을 하고
-
코드 포맷을 위한 Cmd+Option+L
단축키를 사용할 것입니다.
-
윈도우에서는 Ctrl+Alt+L입니다.
이제 한 결 나아졌습니다.
-
자 이제 지금까지의 과정을 잘
이해하셨기를 바랍니다.
-
위 부분까지 스크롤을 올리면
[root LinearLayout]을 확인할 수 있습니다.
-
이곳에서부터 시작됩니다. 그리고 스크롤을
바닥까지 내리면 이곳에서 끝이 납니다.
-
[root LinearLayout] 내부에서, 다시
한 번 스크롤을 올려보도록 하겠습니다.
-
이곳에서 시작하는 하위 [layout]이
만들어 졌습니다.
-
스크롤을 천천히 내리겠습니다.
-
이곳에서 끝이 납니다.
-
이것이 A팀입니다.
-
그리고 이곳에서 시작하는 다른 하위
[LinearLayout] 얻게 되었습니다.
-
스크롤 천천히 내리면 B팀은 이곳에서 끝이 납니다.
-
좋습니다.
이제 윗부분에서 빨간 부분을 발견하였습니다.
-
오류 내용을 확인하기 위해 다시 한 번
스크롤을 올려보도록 하겠습니다.
-
잘못된 방향, 방향지정 없음, 기본 값은
수평방향입니다.
-
여전히 이 [layout]은
-
[width match_parent]를 포함하여
다양한 하위 분류를 가지고 있습니다.
-
저는 수평 방향을 원합니다.
하지만 일단 다음으로 넘어가
-
방향을 규정하도록 합시다.
-
기본값은 수평방향이기 때문에
이것은 기술적으로는 필요가 없습니다.
-
하지만 이것은 확실합니다.
-
그리고 이는 다른 것들을 포함하는
하위 분류에 대해 나타냅니다.
-
프리뷰를 클릭해 보도록 하겠습니다.
-
흠. 모든 문제 사항들에 관한 내용을
붙여 넣기 하였지만
-
별다른 변화가
보이지는 않습니다.
-
이는 제가 오류부분들을
수정하지 않았던 것처럼 나타납니다.
-
이는 수평 [layout]임을
나타냅니다.
-
이 두 [LinearLayout]들을 나란히
놓고자 하지만,
-
[LinearLayout]은 [match_parent]의
[layout_width]을 가지고 있어
-
화면에 가득 찹니다.
-
이처럼 간단히 저의 첫
[LinearLayout]은 화면을 채웁니다.
-
그리고 다른 [LinearLayout]이 화면의
다른 곳에 배치됩니다.
-
여기서 우리가 바라는 것이
무엇인지를 확인해 봅시다.
-
우리는 서로 같은 여백을 가지고 나란히
놓이는 두 개의 [layout]들을 원합니다.
-
따라서 이것을
[layout_weight]로
-
불러들일 경우, 첫 번째
[LinearLayout]을 취하고 1에 대한
-
[layout_weight]를 줍니다.
-
또한 이것의 길이를 0으로 설정합니다.
-
따라서 이제 우리가 두 개의 [LinearLayouts]을
완성하였다는 것을 알 수 있습니다.
-
이들은 정확히
표시되지 않습니다.
-
하지만 이는 조금 더 낫습니다.
-
따라서 저는 [layout_weight]를
이 곳의 두 번째 [LinearLayout]에
-
넣도록 하겠습니다.
-
자 이제 스크롤을 내리겠습니다.
-
이곳에 두 번째 [LinearLayout]이 있습니다.
-
저는 완전히 같은 작업을 할 것입니다.
-
여기에도 1에 대한 [layout_weight]가
있기 때문에 동일한 [layout_weight]를
-
가지고 있다고 할 수 있습니다.
-
그리고 너비를 0으로
설정합니다.
-
두 개의 너비를 0으로
설정하는 이유는 실질적으로
-
이 두 측면이 너비를 가지지
않기 때문입니다.
-
그리고 이 둘은 같은 [layout weight]을
가지기 때문에
-
이에 따라 화면 전체에 대한
모든 여백을 가지고
-
이를 나눠 절반씩
가질 것입니다.
-
만약 이 내용이 이해되지 않는다면,
제가 지시 내용 부분에 걸어둔
-
[layout_weight]에 관한
링크 내용을 확인하시면 됩니다.
-
A팀을 나타낸 것을 제외하고는
훨씬 나아졌습니다.
-
이를 B팀으로 변경하기 위해 스크롤을
내려보도록 하겠습니다.
-
이곳에도 오류가 발생하였음을 확인할
수 있을 것입니다.
-
그리고 이 오류는 복제된 ID로
인한 것입니다.
-
제가 코드를 붙여 넣었다는 것을
명심하시기 바랍니다.
-
따라서 기본적으로
[team_a_score]라는 같은 id에 대해
-
두 가지 작업을 한 것입니다.
-
따라서 이를 [team_b_score]로
변경해 주겠습니다.
-
자 이제 좋아졌습니다.
-
식별이 어렵군요.
-
확대해보도록 하겠습니다.
-
이곳에서는 B팀을 나타냅니다.
-
정확한 버튼과 문자 뷰를
완성하였습니다.
-
자 이제 이것을 제 핸드폰에서
실행시키도록 하겠습니다.
-
좋습니다.
-
A팀 버튼을 누르면 업데이트 됩니다.
좋습니다.
-
B팀 버튼을 눌러도
같은 내용이 업데이트 됩니다.
-
특이하군요.
-
하지만 우리는 XML에 관한 내용을
작업하였다는 것을 기억하십시오.
-
우리는 자바에 관한 내용은 고려하지 않았습니다.
-
하지만 XML에 정상 작동 된다면
자바로 변경하지 못할 이유는 없습니다.