Android-螢幕滑動(一)
阿新 • • 發佈:2018-11-26
以動畫方式滑動到下一頁
下面用一個小demo來簡單記錄下用動畫的方式跳轉頁面到下一頁,直接上程式碼吧:
首先建立一個佈局檔案activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.junto.leftrightslideactivity.MainActivity" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/btn_slide" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="切換"/> </LinearLayout>
然後再res下面新建動畫資料夾anim,在此資料夾下建立兩個動畫檔案,其中動畫的屬性如下:
duration :屬性為動畫持續時間
fromXDelta :屬性為動畫起始時 X座標上的位置
toXDelta :屬性為動畫結束時 X座標上的位置
in_from_right.xml(從右側進入)
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromXDelta="100%p" android:toXDelta="0%p" /> </set>
out_to_left.xml(從左側出去)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="500"
android:fromXDelta="0%p"
android:toXDelta="-100%p" />
</set>
最後是MainActivity.java類檔案
package com.junto.leftrightslideactivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import com.junto.leftrightslideactivity.activity.SlideSecondActivity; public class MainActivity extends Activity { private Button btn_slide; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView(){ btn_slide = findViewById(R.id.btn_slide); btn_slide.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(); intent.setClass(MainActivity.this, SlideSecondActivity.class); startActivity(intent); //設定切換動畫,從右邊進入,左邊退出 overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left); } }); } }
這樣一個簡單的動畫滑動小例子就完成了,在下面附上兩張效果圖