BÀI 52 - VIEWFLIPPER TRONG LẬP TRÌNH ANDROID

  • Đây là một ứng dụng của viewFlipper. Nó thích hợp để làm các slide quảng cáo cho ứng dụng của bạn.

  • Đầu tiên, gọi viewFlip trong xml

<ViewFlipper

android:id="@+id/viewFlipperAd"

android:layout_width="match_parent"

android:layout_height="150dp">

</ViewFlipper>

  • Trong java, tạo array chứa link các ảnh cần show. Các url ảnh sẽ được hiển thị thành hình ảnh nhờ công cụ của Picasso. Có thể tìm hiểu trong Bài 51.

ArrayList<String> listAd = new ArrayList<>();

listAd.add("https://robotquantrac.web.app/images/gioi_thieu.png");

listAd.add("https://i.ytimg.com/vi/OkS6xWD5yOI/maxresdefault.jpg");

listAd.add("https://robotquantrac.web.app/images/anh_bia.png");


for (int i=0; i < listAd.size(); i++){

ImageView imageView = new ImageView(getApplicationContext());

Picasso.get().load(listAd.get(i)).into(imageView);

imageView.setScaleType(ImageView.ScaleType.FIT_XY); // Chỉnh kích thước vừa đủ viewFlipper

viewFlipper.addView(imageView);

}

viewFlipper.setFlipInterval(4000); // Thời gian thay đổi, giống như delay vậy

viewFlipper.setAutoStart(true); // Tự động chạy khi mở màn hình


Animation slidein = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_in_right);

Animation slideout = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_out_right);

viewFlipper.setInAnimation(slidein);

viewFlipper.setOutAnimation(slideout);

  • Các anim là các animation (res >> tạo directory >> tên anim)

// Code slide_in_right

<?xml version="1.0" encoding="utf-8"?>

<set

android:shareInterpolator="false"

xmlns:android="http://schemas.android.com/apk/res/android">

<translate

android:duration = "2000"

android:fromXDelta="-100%"

android:toXDelta="0%"/>

<alpha

android:duration = "2000"

android:fromAlpha="0.0"

android:toAlpha="1.0"/>

</set>

// Code slide_out_right

<?xml version="1.0" encoding="utf-8"?>

<set

android:shareInterpolator="false"

xmlns:android="http://schemas.android.com/apk/res/android">

<translate

android:duration = "2000"

android:fromXDelta="0%"

android:toXDelta="-100%"/>

<alpha

android:duration = "2000"

android:fromAlpha="1.0"

android:toAlpha="0.0"/>

</set>