방명록
- 모바일 프로그래밍 과제(Java) - 중첩 레이아웃2023년 10월 14일 19시 03분 30초에 업로드 된 글입니다.작성자: Moonsu99
환경
- OS - Mac OS 13.5.2
- Tools - Android Studio Iguana | 2023.2.1 Canary 5
- Language - Java
- android version - 12
- tartgetSDK - 33
- minSDK - 28
조건
1. View는 6개의 버튼으로 구성된 화면이 표시된다.
2. 색상과 배치가 그림과 동일하도록 레이아웃을 구성해야 된다.
3. 버튼을 누르면 그 버튼이 사라지고 인접한 버튼들이 그 공간을 차지한다.
4. 버튼을 모두 클릭하여 사라지면 “버튼이 모두 사라졌습니다”라는 토스트 메시지를 나타내야 한다.
구현 코드
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <androidx.appcompat.widget.AppCompatButton android:id="@+id/button1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#FF0000" android:text="1" android:textSize="30sp" android:textColor="@color/black"/> <androidx.appcompat.widget.AppCompatButton android:id="@+id/button2" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#ABF200" android:text="2" android:textSize="30sp" android:textColor="@color/black"/> <androidx.appcompat.widget.AppCompatButton android:id="@+id/button3" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#0054FF" android:text="3" android:textSize="30sp" android:textColor="@color/black"/> </LinearLayout> <LinearLayout android:baselineAligned="false" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <androidx.appcompat.widget.AppCompatButton android:id="@+id/button4" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#FFE400" android:text="4" android:textSize="30sp" android:textColor="@color/black"/> <androidx.appcompat.widget.AppCompatButton android:id="@+id/button5" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#00D8FF" android:text="5" android:textSize="30sp" android:textColor="@color/black"/> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <androidx.appcompat.widget.AppCompatButton android:id="@+id/button6" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#BDBDBD" android:text="6" android:textSize="30sp" android:textColor="@color/black"/> </LinearLayout> </LinearLayout> </LinearLayout>
Mainactivity.java
package com.example.knu_mobile2; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private int buttonCount = 6; // 버튼의 총 개수 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 버튼들을 찾아와서 클릭 리스너를 설정. Button button1 = findViewById(R.id.button1); Button button2 = findViewById(R.id.button2); Button button3 = findViewById(R.id.button3); Button button4 = findViewById(R.id.button4); Button button5 = findViewById(R.id.button5); Button button6 = findViewById(R.id.button6); button1.setOnClickListener(this); button2.setOnClickListener(this); button3.setOnClickListener(this); button4.setOnClickListener(this); button5.setOnClickListener(this); button6.setOnClickListener(this); } @Override public void onClick(View view) { // 클릭된 버튼을 숨깁니다. view.setVisibility(View.GONE); buttonCount--; // 모든 버튼이 사라졌을 때 토스트 메시지를 표시합니다. if (buttonCount == 0) { Toast.makeText(this, "버튼이 모두 사라졌습니다", Toast.LENGTH_SHORT).show(); } } }
'Android [ Java, Kotlin ]' 카테고리의 다른 글
안드로이드 상태바(StatusBar) 설정 (0) 2023.10.14 안드로이드 프로그래밍 과제(Java) - TimePicker(타임 피커) (0) 2023.10.14 모바일 프로그래밍 과제(Java) - Text Rotation(텍스트 회전) (0) 2023.10.14 [Android Kotlin Connecting to Firebase] (0) 2023.07.12 [Android] Using Kotlin & MVVM Architecture (0) 2023.07.12 다음글이 없습니다.이전글이 없습니다.댓글