반응형
TextView 2개 ,SwitchView, RadioGroup, RadioButton 3개, Image View, Button2개로 위젯 구성하였다.
SwitchView 체크 시 위젯이 보이도록 한다.
(초기화면 RadioGroup, RadioButton 3개, Image View, Button2개 => visibility = "invisible")
RadioGroup선택 시 RadioButton 별 해당 이미지를 띄운다.
◼안드로이드 스튜디오 activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:layout_margin="10dp"
tools:context=".MainActivity"
android:gravity="center_horizontal">
<TextView
android:id = "@+id/Text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="선택을 시작하겠습니까?" />
<Switch
android:id = "@+id/switchBtn"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginTop="10dp"
android:text = "시작함"
android:layout_gravity="left"
></Switch>
<TextView
android:id = "@+id/Text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="좋아하는 안드로이드 버전은?"
android:visibility = "invisible" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:visibility = "invisible"
>
<RadioButton
android:id="@+id/radiobtn1"
android:text="Q(10.0)"
></RadioButton>
<RadioButton
android:id="@+id/radiobtn2"
android:text="R(11.0)"
></RadioButton>
<RadioButton
android:id="@+id/radiobtn3"
android:text="S(12.0)"
></RadioButton>
</RadioGroup>
<ImageView
android:id="@+id/Img"
android:layout_width = "180dp"
android:layout_height = "180dp"
android:scaleType = "fitCenter"
android:visibility = "invisible"
></ImageView>
<Button
android:id="@+id/btn1Exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:text="종료"
android:visibility="invisible"></Button>
<Button
android:id="@+id/btnReload"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginTop="10dp"
android:text="처음으로"
android:visibility="invisible"></Button>
</LinearLayout>
◼안드로이드 스튜디오 MainActivity.java
package com.androidpark.project4_2;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("안드로이드 사진 보기");
TextView text1,text2;
Switch switchBtn;
RadioGroup radioGroup;
RadioButton radiobtn1, radiobtn2;
Button btn1Exit,btnReload;
ImageView img;
text1 = (TextView) findViewById(R.id.Text1);
text2 = (TextView) findViewById(R.id.Text2);
switchBtn = (Switch) findViewById(R.id.switchBtn);
radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
radiobtn1 = (RadioButton) findViewById(R.id.radiobtn1);
radiobtn2 = (RadioButton) findViewById(R.id.radiobtn2);
btn1Exit = (Button) findViewById(R.id.btn1Exit);
btnReload = (Button) findViewById(R.id.btnReload);
img = (ImageView) findViewById(R.id.Img);
switchBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(switchBtn.isChecked() == true){
text2.setVisibility(android.view.View.VISIBLE);
radioGroup.setVisibility(android.view.View.VISIBLE);
btn1Exit.setVisibility(android.view.View.VISIBLE);
btnReload.setVisibility(android.view.View.VISIBLE);
img.setVisibility(android.view.View.VISIBLE);
}else{
text2.setVisibility(android.view.View.INVISIBLE);
radioGroup.setVisibility(android.view.View.INVISIBLE);
btn1Exit.setVisibility(android.view.View.INVISIBLE);
btnReload.setVisibility(android.view.View.INVISIBLE);
img.setVisibility(android.view.View.INVISIBLE);
}
}
});
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (radioGroup.getCheckedRadioButtonId()){
case R.id.radiobtn1:
img.setImageResource(R.drawable.q);
break;
case R.id.radiobtn2:
img.setImageResource(R.drawable.r);
break;
case R.id.radiobtn3:
img.setImageResource(R.drawable.s);
break;
}
}
});
btn1Exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
btnReload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switchBtn.setChecked(false);
}
});
}
}
✅Button 위젯의 Java 코드 3단계
1)버튼 변수 선언
Button mybutton;
2)변수에 버튼 위젯 대입
mybutton = (Button)findViewById(R.Id.지정ID);
3)버튼을 클릭할 때 동작하는 클래스 정의
mybutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//동작 내용 코딩
}
});
✅Switch 위젯의 Java 코드 3단계
1)스위치 변수 선언
Switch switchBtn;
2)변수에 스위치 위젯 대입
switchBtn = (Switch) findViewById(R.id.switchBtn);
3)스위치를 클릭할 때 동작하는 클래스 정의
switchBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
}
});
컴파운드버튼(CompoundButton)의 하위 클래스는 체크박스, 라디오버튼, 스위치, 토글버튼이다.
◼실행결과
반응형
'Adroid Studio' 카테고리의 다른 글
Android Studio_안드로이드 스튜디오_간단한 웹브라우저 만들기 (0) | 2022.08.25 |
---|---|
Android Studio_안드로이드 스튜디오 앱 만들기5_레이아웃의 개요 (0) | 2022.08.22 |
Android Studio_안드로이드 스튜디오 앱 만들기3_뷰와 뷰그룹 (0) | 2022.08.22 |
Android Studio_안드로이드 스튜디오 앱 만들기2_기본 사용예제(라디오버튼,이미지삽입) (0) | 2022.08.19 |
Android Studio_안드로이드 스튜디오 앱 만들기1_기본 문법(버튼생성) (0) | 2022.08.19 |