Hiệu Ứng Chuyển Trang Cho Android

1. Giới thiệu

Có lúc nào bạn vượt buốn chán cùng với phương pháp sự chuyển tiếp giữa giữa các activity không ? Hoặc mong vấn đề chuyển tiếp đó giống như IOS ví dụ điển hình ?Bài viết này bản thân đã trả lời mọi bạn cách "Custom Transition Activity"

2. Custom Transition ActivityCách cần sử dụng bản thân vẫn nói làm việc mục 3

*

2.1. Chuyển tiếp giữa những activity kiểu như IOS

Mục 2.1.1 cùng 2.1.2 là 2 file xml chế tạo ra hiệu ứng lúc thêm 1 activity mớiMục 2.1.3 cùng 2.1.4 là 2 file xml tạo thành cảm giác khi baông xã lại ( xóa 1 activity đi )

Chụ ý :

interpolator : tư tưởng con đường cong gia tốc (ví dụ tuyến tính, tụt giảm, vv).duration : xác minh thời hạn kéo dãn cuả hiệu ứngfromXDelta, fromYDelta, toXDelta, toYDelta vị trí ban đầu cùng kết thúc

2.1.1. File slide_in_from_right.xml

Tạo file xml slide_in_from_right.xml trong thư mục anim

2.1.2. File slide_out_to_left.xml

Tạo tệp tin slide_out_to_left.xml vào thư mục anim vào thư mục anim

2.1.3. File slide_in_from_left.xml

Tạo file slide_in_from_left.xml vào tlỗi mục anim trong thư mục anim

2.1.4. File slide_out_to_right.xml

Tạo tệp tin slide_out_to_right.xml trong thỏng mục anyên ổn vào tlỗi mục anim

Kết quả

*

2.2. Hiệu ứng ẩn hiện

Mình xài 2 file xml có sẵn trong android là game android.R.anim.fade_in với game android.R.anyên.fade_out

fade_in.xml

fade_out.xml

altrộn xmlns:android="http://schemas.game android.com/apk/res/android" android:interpolator="

Bạn đang xem: Hiệu ứng chuyển trang cho android

interpolator/accelerate_quad" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="
android:integer/config_mediumAnimTime" />
*

3. Cách dùng

Chúng ta đã sử dụng function overridePendingTransition() nhằm biến đổi cảm giác nối tiếp màn hình

3.1. MainActivity

Mình chế tạo ra 3 nút cùng với 3 tùy chỉnh thiết lập khác nhau

buttonSlide : Tạo cảm giác như thể IOSbuttonFade : Tạo cảm giác ẩn hiện tại activity mớibuttonDefault : Giữ nguyên ổn cảm giác khoác định của điện thoại cảm ứng thông minh để so sánh

Crúc ý : Phải để overridePendingTransition() sau startActivity() nhé

Mình cũng tạo intent để truyền type hiệu ứng chuyến qua màn hình để dịp bachồng về đem hiệu ứng tương ứng

package com.tuananh.transitionactivity;import game android.content.Intent;import game android.os.Bundle;import apk.support.v7.tiện ích.AppCompatActivity;import game android.view.View;public class MainActivity extends AppCompatActivity implements View.OnClickListener

Xem thêm: Ngôi Sao Thời Trang 360Mobi Hack, Hack Game Ngôi Sao Thời Trang 360Mobi Cho Android

Override 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.anyên.slide_in_from_right, R.anlặng.slide_out_to_left); break; case R.id.button_fade: intent.putExtra("type", 2); startActivity(intent); overridePendingTransition(android.R.anim.fade_in, app android.R.anyên ổn.fade_out); break; default: startActivity(intent); break;

3.2. ImageActivity

Nhận intent trường đoản cú MainActivity để mang type tương ứng

type = 1 : hiệu ứng giống IOStype = 2 : cảm giác ẩn hiệntype = 0 : khoác định của điện thoại

package com.tuananh.transitionactivity;import apk.os.Bundle;import android.tư vấn.v7.ứng dụng.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.anyên.slide_out_to_right); break; case 2: overridePendingTransition(android.R.anlặng.fade_in, app android.R.anlặng.fade_out); break; default: break; ResourceResource