본문 바로가기
공부/개발노트

[Android] 안드로이드 자동 이미지 슬라이드 구현 방법 안내.

반응형


안녕하세요.
SOSOHANBOX 성단입니다.

안드로이드 자동 이미지 슬라이드를 하고 싶어서 직접 구현해보았습니다.

참고하시어 구현하는데 어려움이 없었으면 좋겠네요 :)

우선 이미지 자동 슬라이드를 구현할려면 ViewPager 보다는 ViewFlipper를 사용합니다.
아래와 같이 XML 작성해주시면 됩니다.
<ViewFlipper
android:id="@+id/image_slide"
android:layout_width="match_parent"
android:layout_height="200dp"/>


CardView 하위에 만들고 싶다면 아래와 같이 XML 작성해주세요.


<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp">

<ViewFlipper
android:id="@+id/image_slide"
android:layout_width="match_parent"
android:layout_height="200dp"/>

</android.support.v7.widget.CardView>


이제 java를 작성합시다.


전역 변수로 ViewFlipper 변수를 만들어줍니다.



ViewFlipper v_fllipper;


그리고 기본으로 작성해 있는 onCreate 함수 안에 drawable 안에 있는 이미지를 사용할 변수를 만들어줍니다.


int images[] = {
R.drawable.test_img01,
R.drawable.test_img02,
R.drawable.test_img03
};


저는 3장을 사용할꺼라 3개만 설정했습니다.

그 후 반복문을 사용해서 이미지 갯수 만큼 돌려줍니다.


v_fllipper = findViewById(R.id.image_slide);

for(int image : images) {
fllipperImages(image);
}


onCreate 함수 하단에 이미지 슬라이더 구현 함수를 작성해주세요.

아래 함수는 자동 이미지 슬라이드 간단하게 구현된 함수입니다.


// 이미지 슬라이더 구현 메서드
public void fllipperImages(int image) {
ImageView imageView = new ImageView(this);
imageView.setBackgroundResource(image);

v_fllipper.addView(imageView); // 이미지 추가
v_fllipper.setFlipInterval(4000); // 자동 이미지 슬라이드 딜레이시간(1000 당 1초)
v_fllipper.setAutoStart(true); // 자동 시작 유무 설정

// animation
v_fllipper.setInAnimation(this,android.R.anim.slide_in_left);
v_fllipper.setOutAnimation(this,android.R.anim.slide_out_right);
}

빌드 후 자신의 안드로이드 폰이나 없다면 가상디바이스를 만들어 자동으로 슬라이드가 되는지 확인해주세요.

오류가 나온다면 100% 이미지 크기(가로x세로)가 커서 오류가 나타나는 것입니다. (Logcat 참고바랍니다.)


감사합니다.

SOSOHANBOX™

반응형