[국비학원 기록/Android] ViewFlipper , 화면 전환, 사진 넘기기 예제
my code archive
article thumbnail
반응형

🤍안드로이드 코틀린 ViewFlipper

  • ViewAnimator 클래스의 확장 버전의 위젯 뷰
  • 화면 전환 시 애니메이션 효과 적용할 때 사용
  • 여러 장의 이미지를 지정한 초 단위로 자동으로 보여주는 기능 구현 가능
  • startFlipping(), stopFlipping(), showPrevious(), showNext() 4가지 메서드 제공

 

🤍안드로이드 버전별 17가지 캐릭터 사진 넘기기 구현

안드로이드 캐릭터.zip
0.31MB

 

  • activity_main.xml (LinearLayout 사용)
<?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"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/btnStart"
            android:layout_weight="1"
            android:text="사진보기 시작"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/btnStop"
            android:layout_weight="1"
            android:text="사진보기 정지"/>

    </LinearLayout>

    <ViewFlipper
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/viewFlipper">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView1"
            android:layout_gravity="center"
            android:src="@drawable/cupcake"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView2"
            android:layout_gravity="center"
            android:src="@drawable/donut"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView3"
            android:layout_gravity="center"
            android:src="@drawable/eclair"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView4"
            android:layout_gravity="center"
            android:src="@drawable/froyo"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView5"
            android:layout_gravity="center"
            android:src="@drawable/gingerbread"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView6"
            android:layout_gravity="center"
            android:src="@drawable/honeycomb"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView7"
            android:layout_gravity="center"
            android:src="@drawable/icecream"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView8"
            android:layout_gravity="center"
            android:src="@drawable/jellybean"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView9"
            android:layout_gravity="center"
            android:src="@drawable/kitkat"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView10"
            android:layout_gravity="center"
            android:src="@drawable/lollipop"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView11"
            android:layout_gravity="center"
            android:src="@drawable/marshmallow"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView12"
            android:layout_gravity="center"
            android:src="@drawable/nougat"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView13"
            android:layout_gravity="center"
            android:src="@drawable/oreo"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView14"
            android:layout_gravity="center"
            android:src="@drawable/pie"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView15"
            android:layout_gravity="center"
            android:src="@drawable/q10"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView16"
            android:layout_gravity="center"
            android:src="@drawable/r11"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView17"
            android:layout_gravity="center"
            android:src="@drawable/s12"/>

    </ViewFlipper>

</LinearLayout>

 

  • MainActivity.java
package kr.co.viewflipperapp;

import androidx.appcompat.app.AppCompatActivity;

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

import java.util.Objects;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Objects.requireNonNull(getSupportActionBar()).setDisplayShowHomeEnabled(true);
        getSupportActionBar().setIcon(R.drawable.ic_launcher);

        Button btnStart, btnStop;
        final ViewFlipper viewFlipper;

        btnStart = findViewById(R.id.btnStart);
        btnStop = findViewById(R.id.btnStop);
        viewFlipper = findViewById(R.id.viewFlipper);
        viewFlipper.setFlipInterval(1000);      //화면 넘김 간격 정의 메서드

        btnStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                viewFlipper.startFlipping();    //화면 넘김 시작 메서드
            }
        });

        btnStop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                viewFlipper.stopFlipping();     //화면 넘김 정지 메서드
            }
        });
    }
}

 

  • 실행 화면

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형