Home / Công Nghệ / hiệu ứng chuyển trang cho android Hiệu Ứng Chuyển Trang Cho Android 05/05/2022 1. Giới thiệuCó khi nào bạn quá chán nản với biện pháp chuyển tiếp giữa các activity không ? Hoặc ao ước việc chuyến qua đó y hệt như IOS chẳng hạn ?Bài viết này mình sẽ trả lời mọi người cách "Custom Transition Activity"2. Custom Transition ActivityCách dùng mình sẽ nói sinh sống mục 3Bạn đang xem: Hiệu ứng chuyển trang cho android2.1. Chuyển tiếp giữa các activity giống như IOSMục 2.1.1 và 2.1.2 là 2 file xml sản xuất hiệu ứng khi thêm 1 activity mớiMục 2.1.3 với 2.1.4 là 2 tệp tin xml tạo ra hiệu ứng khi back lại ( xóa 1 activity đi )Chú ý :interpolator : định nghĩa đường cong tốc độ (ví dụ tuyến đường tính, bớt tốc, vv).duration : khẳng định thời gian kéo dãn dài cuả hiệu ứngfromXDelta, fromYDelta, toXDelta, toYDelta vị trí bước đầu và kết thúc2.1.1. Tệp tin slide_in_from_right.xmlTạo tệp tin xml slide_in_from_right.xml trong thư mục anim 2.1.2. File slide_out_to_left.xmlTạo tệp tin slide_out_to_left.xml trong thư mục anim trong folder anim 2.1.3. Tệp tin slide_in_from_left.xmlTạo file slide_in_from_left.xml trong thư mục anim trong thư mục anim 2.1.4. Tệp tin slide_out_to_right.xmlTạo file slide_out_to_right.xml trong thư mục anim trong folder anim Kết quảXem thêm: Những Câu Nói Hay Về Trường Học Trò Khiến Bạn Thổn Thức, Những Câu Nói Hay Về Tuổi Học Trò2.2. Cảm giác ẩn hiệnMình xài 2 tệp tin xml có sẵn trong android là android.R.anim.fade_in với android.R.anim.fade_outfade_in.xmlfade_out.xmlalpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="Bạn sẽ xem: Hiệu ứng chuyển trang đến androidinterpolator/accelerate_quad" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="android:integer/config_mediumAnimTime" />3. Giải pháp dùngChúng ta sẽ sử dụng function overridePendingTransition() để biến đổi hiệu ứng chuyển tiếp màn hình3.1. MainActivityMình tạo 3 nút với 3 thiết lập khác nhaubuttonSlide : sản xuất hiệu ứng như thể IOSbuttonFade : chế tạo ra hiệu ứng ẩn hiện activity mớibuttonDefault : không thay đổi hiệu ứng mang định của điện thoại để so sánhChú ý : phải đặt overridePendingTransition() sau startActivity() nhéMình cũng tạo thành intent để truyền type hiệu ứng đưa tiếp screen để dịp back về mang hiệu ứng tương ứngOverride protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button_slide).setOnClickListener(this); findViewById(R.id.button_fade).setOnClickListener(this); findViewById(R.id.button_default).setOnClickListener(this); Override public void onClick(View view) Intent intent = new Intent(this, ImageActivity.class); switch (view.getId()) case R.id.button_slide: intent.putExtra("type", 1); startActivity(intent); overridePendingTransition(R.anim.slide_in_from_right, R.anim.slide_out_to_left); break; case R.id.button_fade: intent.putExtra("type", 2); startActivity(intent); overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); break; default: startActivity(intent); break; }3.2. ImageActivityNhận intent từ bỏ MainActivity để lấy type tương ứngtype = 1 : hiệu ứng như thể IOStype = 2 : cảm giác ẩn hiệntype = 0 : mang định của năng lượng điện thoạipackage com.tuananh.transitionactivity;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;public class ImageActivity extends AppCompatActivity private int mType; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_image); if (getIntent() != null) mType = getIntent().getIntExtra("type", 0); Override public void onBackPressed() super.onBackPressed(); switch (mType) case 1: overridePendingTransition(R.anim.slide_in_from_left, R.anim.slide_out_to_right); break; case 2: overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); break; default: break; ResourceResource