Programming/Android Example
Android 안드로이드 사진 보기 예제
2swan
2023. 8. 3. 01:26
.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="20dp" >
<TextView
android:id="@+id/Text1"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="선택을 시작하겠습니까?"
android:textSize="20dp" />
<Switch
android:id="@+id/switchAgree"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="시작함" />
<TextView
android:id="@+id/Text2"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="좋아하는 안드로이드 버전은?"
android:textSize="20dp"
android:visibility="invisible" />
<RadioGroup
android:id="@+id/Rgroup1"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible" >
<RadioButton
android:id="@+id/Rdo100"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Q(10.0)" />
<RadioButton
android:id="@+id/Rdo110"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="R(11.0)" />
<RadioButton
android:id="@+id/Rdo120"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="S(12.0)" />
</RadioGroup>
<ImageView
android:id="@+id/ImgIcon"
android:layout_width="120dp"
android:layout_height="120dp"
android:scaleType="fitCenter"
android:visibility="invisible" />
<Button
android:id="@+id/BtnQuit"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="종료"
android:visibility="invisible" />
<Button
android:id="@+id/BtnRerun"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="처음으로"
android:visibility="invisible" />
</LinearLayout>
.java
public class MainActivity2 extends AppCompatActivity {
TextView text1, text2;
Switch switchAgree;
RadioGroup rGroup1;
RadioButton radioArray[] = new RadioButton[3];
ImageView imgPet;
Button btnQuit, btnRerun;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
setTitle("안드로이드 사진 보기");
// 위젯을 변수에 대입
text1 = (TextView) findViewById(R.id.Text1);
switchAgree = (Switch) findViewById(R.id.switchAgree);
text2 = (TextView) findViewById(R.id.Text2);
rGroup1 = (RadioGroup) findViewById(R.id.Rgroup1);
radioArray[0] = (RadioButton) findViewById(R.id.Rdo100);
radioArray[1] = (RadioButton) findViewById(R.id.Rdo110);
radioArray[2] = (RadioButton) findViewById(R.id.Rdo120);
imgPet = (ImageView) findViewById(R.id.ImgIcon);
btnQuit = (Button) findViewById(R.id.BtnQuit);
btnRerun = (Button) findViewById(R.id.BtnRerun);
// 동의함 체크박스의 체크가 변경되면
switchAgree
.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton arg0,
boolean arg1) {
// 체크되면 모두 보이도록 설정
if (switchAgree.isChecked() == true) {
text2.setVisibility(android.view.View.VISIBLE);
rGroup1.setVisibility(android.view.View.VISIBLE);
imgPet.setVisibility(android.view.View.VISIBLE);
btnQuit.setVisibility(android.view.View.VISIBLE);
btnRerun.setVisibility(android.view.View.VISIBLE);
} else {
text2.setVisibility(android.view.View.INVISIBLE);
rGroup1.setVisibility(android.view.View.INVISIBLE);
imgPet.setVisibility(android.view.View.INVISIBLE);
btnQuit.setVisibility(android.view.View.INVISIBLE);
btnRerun.setVisibility(android.view.View.INVISIBLE);
}
}
});
// 라디오버튼을 클릭할 때, 이미지 뷰를 변경시킴 ==> 배열로 처리함.
final int draw[] = { R.drawable.q10,
R.drawable.r11, R.drawable.s12};
for (int i = 0; i < radioArray.length; i++) {
final int index; // 주의! 꼭 필요함.
index = i;
radioArray[index].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
imgPet.setImageResource(draw[index]);
}
});
}
// 종료 버튼을 클릭하면
btnQuit.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
finish();
}
});
// 처음으로 버튼을 클릭하면
btnRerun.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
text2.setVisibility(android.view.View.INVISIBLE);
rGroup1.setVisibility(android.view.View.INVISIBLE);
imgPet.setVisibility(android.view.View.INVISIBLE);
btnQuit.setVisibility(android.view.View.INVISIBLE);
btnRerun.setVisibility(android.view.View.INVISIBLE);
rGroup1.clearCheck();
switchAgree.setChecked(false);
}
});
}
}