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>