LinearLayout , GridLayout, TableLayout =계산기 만들기
2022. 3. 16. 16:39ㆍKotlin
리니어레이아웃(LinearLayout)
orientation | vertical | horizontal |
리니어레이아웃 안에 포함될 위젯의 배치를 왼쪽 위부터 수직 방향으로 쌓음 | 리니어레이아웃 안에 포함될 위젯의 배치를 왼쪽 위부터 수평 방향으로 쌓음 | |
버튼을 만들어도 테이블 레이아웃은 layout_weight를 1로 설정,
리니어 레이아웃은 layout_weight를 1로 두면서 layout_width, height ="wrap_content"로 둔다
테이블 레이아웃<TableLayout>
•행과 열의 개수를 지정한 테이블 형태로 위젯을 배열
이런식으로 <TableRow>를 계속 생성하고
너비는 Span=" " 으로 조절
주의할 점은 layout_weight를 wrap_content나 match_parent로 하면 값이 안먹힌다. 무조건 1
ex)너비를 6개로 만들거면 span="6"
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow>
<EditText
android:layout_weight = "1"
android:id="@+id/Edit1"
android:layout_span="5"
android:hint="숫자1 입력" />
</TableRow>
<TableRow>
<EditText
android:layout_weight = "1"
android:id="@+id/Edit2"
android:layout_span="5"
android:hint="숫자2 입력" />
</TableRow>
<TableRow>
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum0"
android:layout_margin="5dp"
android:text="0" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum1"
android:layout_margin="5dp"
android:text="1" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum2"
android:layout_margin="5dp"
android:text="2" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum3"
android:layout_margin="5dp"
android:text="3" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum4"
android:layout_margin="5dp"
android:text="4" />
</TableRow>
<TableRow>
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum5"
android:layout_margin="5dp"
android:text="5" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum6"
android:layout_margin="5dp"
android:text="6" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum7"
android:layout_margin="5dp"
android:text="7" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum8"
android:layout_margin="5dp"
android:text="8" />
<Button
android:layout_weight = "1"
android:id="@+id/BtnNum9"
android:layout_margin="5dp"
android:text="9" />
</TableRow>
<TableRow>
<Button
android:layout_weight = "1"
android:id="@+id/BtnAdd"
android:layout_margin="5dp"
android:layout_span="5"
android:text="더하기" />
</TableRow>
<TableRow>
<Button
android:layout_weight = "1"
android:id="@+id/BtnSub"
android:layout_margin="5dp"
android:layout_span="5"
android:text="빼기" />
</TableRow>
<TableRow>
<Button
android:layout_weight = "1"
android:id="@+id/BtnMul"
android:layout_margin="5dp"
android:layout_span="5"
android:text="곱하기" />
</TableRow>
<TableRow>
<Button
android:layout_weight = "1"
android:id="@+id/BtnDiv"
android:layout_margin="5dp"
android:layout_span="5"
android:text="나누기" />
</TableRow>
<TableRow>
<Button
android:layout_weight = "1"
android:id="@+id/BtnMod"
android:layout_margin="5dp"
android:layout_span="5"
android:text="나머지" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/TextResult"
android:layout_margin="5dp"
android:layout_span="5"
android:text="계산 결과 : "
android:textColor="#FF0000"
android:textSize="20dp" />
</TableRow>
</TableLayout>
그리드레이아웃<GridLayout>
테이블레이아웃과 비슷하지만 행 또는 열을 확장하여 다양하게 배치할 때 더 편리함
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:rowCount="10"
android:columnCount="5"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/Edit1"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:hint="숫자1 입력" />
<EditText
android:id="@+id/Edit2"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:hint="숫자2 입력" />
<Button
android:layout_width="0dp"
android:layout_columnWeight="1"
android:id="@+id/BtnNum0"
android:layout_margin="5dp"
android:text="0" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum1"
android:layout_margin="5dp"
android:text="1" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum2"
android:layout_margin="5dp"
android:text="2" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum3"
android:layout_margin="5dp"
android:text="3" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum4"
android:layout_margin="5dp"
android:text="4" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum5"
android:layout_margin="5dp"
android:text="5" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum6"
android:layout_margin="5dp"
android:text="6" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum7"
android:layout_margin="5dp"
android:text="7" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum8"
android:layout_margin="5dp"
android:text="8" />
<Button
android:layout_width="0dp"
android:layout_columnWeight = "1"
android:id="@+id/BtnNum9"
android:layout_margin="5dp"
android:text="9" />
<Button
android:id="@+id/BtnAdd"
android:layout_margin="5dp"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:text="더하기" />
<Button
android:id="@+id/BtnSub"
android:layout_margin="5dp"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:text="빼기" />
<Button
android:id="@+id/BtnMul"
android:layout_margin="5dp"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:text="곱하기" />
<Button
android:id="@+id/BtnDiv"
android:layout_margin="5dp"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:text="나누기" />
<Button
android:id="@+id/BtnMod"
android:layout_margin="5dp"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:text="나머지" />
<TextView
android:id="@+id/TextResult"
android:layout_margin="5dp"
android:layout_columnSpan="5"
android:layout_gravity="fill_horizontal"
android:text="계산 결과 : "
android:textColor="#FF0000"
android:textSize="20dp" />
'Kotlin' 카테고리의 다른 글
안드로이드 스튜디오 뷰 플리퍼 (ViewFlipper) xml 기능/ 뷰 플리퍼 기능 구성 (1) | 2022.03.19 |
---|---|
LinearLayout 리니어 레이아웃으로 분할 화면 만들기 /Vertical, Horizontal/ 리니어 레이아웃 다중 분할 (0) | 2022.03.16 |
중복 리니어 레이아웃 (Linear Layout)은 부모 레이아웃 기준으로 비율을 나눈다. / 리니어 레이아웃 비율 (1) | 2022.03.16 |
AVD만들기 (0) | 2022.03.13 |
Android Studio(안드로이드 스튜디오) 설치 시 확인 해야 할 것/ sdk 매니저 확인해야 할 것 (0) | 2022.03.13 |