Android_4일차_과제1

홍성채·2022년 4월 7일
0

Android

목록 보기
6/27
  • 버튼으로 이미지 바꾸기

    • 이미지를 drawable에 저장을 시킨다.

    • 저장된 이미지를 배열에 저장시킨다.

    • 버튼과 이미지 뷰의 아이디를 변수에 저장시킨다.

    • 버튼을 클릭할 경우 기능을 구현한다.
      - 다음 버튼

      버튼 클릭 시 배열에 저장된 위치보다 1이 증가해야되므로 ++i를 추가하고 조건문을 통해 길이가 넘을 경우 다시 0으로 돌아가게 만든다.
      - 이전 버튼

      버튼 클릭 시 배열에 저장된 위치보다 1이 증가해야되므로 ++i를 추가하고 조건문을 통해 길이보다 적을 경우 다시 배열의 끝으로 돌아가게 만든다.

  • 전체 소스

package com.example.ex0407;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity4 extends AppCompatActivity {
    Button btnPre,btnNext;
    ImageView img;
    int i=0;
    // 이미지 배열 생성
    int[] imgArr = {R.drawable.chunsik1,R.drawable.chunsik2,R.drawable.chunsik3};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main4);
        img = findViewById(R.id.imageView2);
        img.setImageResource(imgArr[1]);
        btnNext = findViewById(R.id.btnNext);
        btnPre = findViewById(R.id.btnPre);
        
        btnNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ++i;
                if(i < imgArr.length) {
                img.setImageResource(imgArr[i]);
                }
                else {
                    i = 0;
                    img.setImageResource(imgArr[i]);
                }
            }
        });
        btnPre.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                --i;
                if(i < 0) {
                    i = imgArr.length-1;
                    img.setImageResource(imgArr[i]);
                }
                else {
                    img.setImageResource(imgArr[i]);
                }
            }
        });
    }
}
  • 출력 화면
    • 다음 버튼 클릭 시

    • 이전 버튼 클릭 시
profile
초보 코딩

0개의 댓글