-
[안드로이드 스튜디오] 고급 위젯과 이벤트 처리프로그래밍/XML | JAVA 2024. 3. 26. 09:32
버튼을 누를때마다 배경 색상 변경
XML
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/clothingImageView" android:layout_width="match_parent" android:layout_height="252dp" android:layout_marginTop="4dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/boy_img" /> <Button android:id="@+id/colorButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="4dp" android:layout_marginTop="79dp" android:text="Color 1" app:layout_constraintEnd_toStartOf="@+id/colorButton2" app:layout_constraintHorizontal_chainStyle="spread_inside" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/clothingImageView" /> <Button android:id="@+id/colorButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="5dp" android:text="Color 2" app:layout_constraintBaseline_toBaselineOf="@+id/colorButton1" app:layout_constraintEnd_toStartOf="@+id/colorButton3" app:layout_constraintStart_toEndOf="@+id/colorButton1" /> <Button android:id="@+id/colorButton3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="5dp" android:text="Color 3" app:layout_constraintEnd_toStartOf="@+id/colorButton4" app:layout_constraintStart_toEndOf="@+id/colorButton2" app:layout_constraintTop_toTopOf="@+id/colorButton2" /> <Button android:id="@+id/colorButton4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Color 4" app:layout_constraintBaseline_toBaselineOf="@+id/colorButton3" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/colorButton3" /> </androidx.constraintlayout.widget.ConstraintLayout>
JAVA
package com.example.a05_14; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private ImageView clothingImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); clothingImageView = findViewById(R.id.clothingImageView); Button colorButton1 = findViewById(R.id.colorButton1); Button colorButton2 = findViewById(R.id.colorButton2); Button colorButton3 = findViewById(R.id.colorButton3); Button colorButton4 = findViewById(R.id.colorButton4); colorButton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { changeClothingColor(Color.RED); } }); colorButton2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { changeClothingColor(Color.BLUE); } }); colorButton3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { changeClothingColor(Color.GREEN); } }); colorButton4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { changeClothingColor(Color.YELLOW); } }); } private void changeClothingColor(int color) { clothingImageView.setBackgroundColor(color); } }
람다식 사용
JAVA
package com.example.a05_14; import android.graphics.Color; import android.os.Bundle; import android.widget.Button; import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private ImageView clothingImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); clothingImageView = findViewById(R.id.clothingImageView); Button colorButton1 = findViewById(R.id.colorButton1); Button colorButton2 = findViewById(R.id.colorButton2); Button colorButton3 = findViewById(R.id.colorButton3); Button colorButton4 = findViewById(R.id.colorButton4); colorButton1.setOnClickListener(view -> changeClothingColor(Color.RED)); colorButton2.setOnClickListener(view -> changeClothingColor(Color.BLUE)); colorButton3.setOnClickListener(view -> changeClothingColor(Color.GREEN)); colorButton4.setOnClickListener(view -> changeClothingColor(Color.YELLOW)); } private void changeClothingColor(int color) { clothingImageView.setBackgroundColor(color); } }
샌드위치 토핑 선택
XML
<?xml version="1.0" encoding="utf-8"?> <androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="샌드위치 선택" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="35dp" android:orientation="horizontal"> <CheckBox android:id="@+id/checkBox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onCheckboxClicked" android:text="MEAT" /> <CheckBox android:id="@+id/checkBox2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onCheckboxClicked" android:text="CHEESE" /> </LinearLayout> <ImageView android:id="@+id/ImageViewSand1" android:layout_marginTop="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/sand1" /> <ImageView android:id="@+id/ImageViewSand2" android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/sand2" /> </androidx.appcompat.widget.LinearLayoutCompat>
JAVA
package com.example.a05_28; import android.os.Bundle; import android.view.View; import android.widget.CheckBox; import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { ImageView sand1, sand2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sand1 = (ImageView) findViewById(R.id.ImageViewSand1); sand2 = (ImageView) findViewById(R.id.ImageViewSand2); } public void onCheckboxClicked(View v) { boolean checked = ((CheckBox) v).isChecked(); switch(v.getId()) { case R.id.checkBox: if(checked) sand1.setImageResource(R.drawable.sand1); else sand1.setImageResource(0); break; case R.id.checkBox2: if(checked) sand2.setImageResource(R.drawable.sand2); else sand2.setImageResource(0); break; } } }
'프로그래밍 > XML | JAVA' 카테고리의 다른 글
[안드로이드 스튜디오] 그림 평가 앱 (1) 2024.03.26 [안드로이드 스튜디오] 조명 제어 앱 만들기 (0) 2024.03.26 [안드로이드 스튜디오] 계산기 UI (0) 2024.03.18 [안드로이드 스튜디오] 버튼 배치 (0) 2024.03.18 [안드로이드 스튜디오] 1~100까지 랜덤게임 맞추기 (0) 2024.03.12