본문 바로가기
안드로이드

ViewFlipper 사용법(feat.Glide)

by 개발_블로그 2022. 1. 12.
반응형

 

여러장의 이미지나 텍스트등을한장씩 넘겨가면서 보고싶을 때

유용한 ViewFilpper 예제입니다.

 

View Animator의 일종으로서FrameLayout을 상속받아 만들어졌습니다.

 

컴퓨터에서여러장의 이미지를 하나씩 볼때 사용하는 뷰어를 만든다고 보시면 됩니다.



출처: https://kitesoft.tistory.com/75 [안드로이드 앱 개발]

 

https://developer.android.com/reference/android/widget/ViewFlipper

 

ViewFlipper  |  Android Developers

 

developer.android.com

 

layout 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".view.frag.ImageSlideDisplayFragment">

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

    </ViewFlipper>

</androidx.constraintlayout.widget.ConstraintLayout>

 

MainActivity 

  
  //이미지 리스트! 
  private val dataSet = arrayListOf<String>().apply {
        add("이미지 url")
        add("이미지 url")
        add("이미지 url")
    }
    
    
    //동적으로  viewflipper 에 넣기 .
    when(imageList.size){
            1->setFlipperImage(imageList[0])
            else ->{
                for(i in imageList.indices) setFlipperImage(imageList[i])
                viewFlipper.flipInterval = 5000
            }
        }
       viewFlipper.startFlipping()
       
       
       
    //setFlipperImage for문 안에있는 setFlipperImage 메소드
    override fun setFlipperImage(res: String) {
        val image = ImageView(appContext)
        Glide.with((imageSlideDisplayView as ImageSlideDisplayFragment)).load(res).into(image)
        viewFlipper.addView(image)
    }

 

 

ViewFlipper 깃헙도보고 연구하고 다른 블로그 보면서 연구해보세요~ 

https://github.com/denalddemirxhiu/ViewFlipper

 

GitHub - denalddemirxhiu/ViewFlipper: ViewFlipper Tutorial Blog

ViewFlipper Tutorial Blog. Contribute to denalddemirxhiu/ViewFlipper development by creating an account on GitHub.

github.com

 

반응형