상세 컨텐츠

본문 제목

[안드로이드] StackView 버튼(Button)으로 이미지(Image) 변경하는 방법

안드로이드

by aries574 2022. 1. 18. 14:46

본문


이번 시간에는 StackView로

정렬된 이미지를 버튼을 통해서

이미지 변경하는 방법을 알아보겠습니다.

이전 시간에 했던 예제를 이어서 하니

먼저 보시고 오시면 됩니다.

2022.01.17 - [안드로이드] - [안드로이드] StackView 이미지(Image) 정렬하는 방법

 

[안드로이드] StackView 이미지(Image) 정렬하는 방법

이번 시간에는 StackView를 통해서 이미지 정렬하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 아이템 화면 만들기 item.xml 3. 아이템 어뎁터 만들기 ItemAdapter.java 4. 메인 화면 구성 activit

aries574.tistory.com


목차

1. 실행 화면

2. 메인 화면 구성 activitiy_main.xml

3. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

2. 메인 화면 구성 activitiy_main.xml

버튼 2개를 추가했습니다.

다음 이미지를 보여주는 next_btn과

이전 이미지를 보여주는 back_btn

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <StackView
        android:id="@+id/stack_view"
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:layout_centerHorizontal="true" />

    <Button
        android:id="@+id/back_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="80dp"
        android:layout_marginTop="450dp"
        android:text="back" />

    <Button
        android:id="@+id/next_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginTop="450dp"
        android:layout_marginRight="80dp"
        android:text="Next" />

</RelativeLayout>

 

3. 메인 코드 구현 MainActivity.java

1. position 변수를 하나 만들었습니다.

현재 위치를 파악해서 처음 이미지면

뒤로 가지 않게, 마지막 이미지면 앞으로

가지 않게 하기 위해 사용됩니다.

2. showPrevious() : 이전 뷰(View)로 이동합니다.

3. showNext() : 다음 뷰(Vie)로 이동합니다.

public class MainActivity extends AppCompatActivity {

    StackView stackView;

    int position = 0; //위치

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        stackView = findViewById(R.id.stack_view);

        ItemAdapter itemAdapter = new ItemAdapter(createImage(), MainActivity.this
                , R.layout.item);

        stackView.setAdapter(itemAdapter);

        Button bacK_btn = findViewById(R.id.back_btn);
        bacK_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if(position > 0){
                    stackView.showPrevious();
                    position--;
                }else{
                    Toast.makeText(getApplicationContext(), "처음 입니다.", Toast.LENGTH_SHORT).show();
                }
            }
        });

        Button next_btn = findViewById(R.id.next_btn);
        next_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if( (createImage().size()-1) != position ){
                    stackView.showNext();
                    position++;
                }else{
                    Toast.makeText(getApplicationContext(), "마지막 입니다.", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }


    private List<Integer> createImage(){

        List<Integer> images = new ArrayList<>();
        images.add(R.drawable.dog1);
        images.add(R.drawable.dog2);
        images.add(R.drawable.dog3);
        images.add(R.drawable.dog4);

        return images;
    }
}

 

2022.01.14 - [안드로이드] - [안드로이드] 선택한 사진 가져와서 이미지뷰(ImageView)에 보여주는 방법

 

[안드로이드] 선택한 사진 가져와서 이미지뷰(ImageView)에 보여주는 방법

이번 시간에는 휴대폰에 저장되어 있는 사진을 가져와서 이미지 뷰(ImageView)에 보여주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구성 activity_main.xml 3. 메인 코드 구현 MainActivity.jav

aries574.tistory.com

2022.01.15 - [안드로이드] - [안드로이드] 나만의 큐알코드(QR CODE) 만드는 방법

 

[안드로이드] 나만의 큐알코드(QR CODE) 만드는 방법

이번 시간에는 나만의 큐알코드(QR CODE)를 만드는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리(Library) 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java 1. 실행..

aries574.tistory.com

2022.01.16 - [안드로이드] - [안드로이드] 큐알코드(QR CODE) 스캔 하는 방법

 

[안드로이드] 큐알코드(QR CODE) 스캔 하는 방법

이번 시간에는 큐알코드(QR CODE) 스캔하는 방법에 대해 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 권한 등록 4. 스캔 액티비티 추가 ScannerActivity 5. 메인 화면 구성 activity_main.xml 6...

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역