小編給大家分享一下Android如何實現頁面滑動切換動畫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創新互聯公司主要從事成都網站制作、網站設計、網頁設計、企業做網站、公司建網站等業務。立足成都服務龍江,10余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220
實現兩個頁面滑動切換,一些相冊的效果也是如此
一個Activity的界面配置文件
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!--ViewFlipper里面的子控件可以被看成一頁--> <ViewFlipper android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/viewFlipper" > <!-- 第一頁 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#339900" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="第一頁" /> </LinearLayout> <!-- 第二頁 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="第二頁" /> </LinearLayout> </ViewFlipper> </LinearLayout>
MainActivity.java:
package com.example.activitymove; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ViewFlipper; public class MainActivity extends Activity { private ViewFlipper viewFlipper; private float startX; private float endX; private Animation in_lefttoright; private Animation out_lefttoright; private Animation in_righttoleft; private Animation out_righttoleft; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); in_lefttoright=AnimationUtils.loadAnimation(this, R.anim.enter_lefttoright); out_lefttoright=AnimationUtils.loadAnimation(this, R.anim.out_lefttoright); in_righttoleft=AnimationUtils.loadAnimation(this, R.anim.enter_righttoleft); out_righttoleft=AnimationUtils.loadAnimation(this, R.anim.out_righttoleft); viewFlipper=(ViewFlipper) this.findViewById(R.id.viewFlipper); } //處理觸屏時間的方法 //手在屏幕上向右滑動然后松開翻下一頁,向左翻顯示前一頁 public boolean onTouchEvent(MotionEvent event) { if(event.getAction()==MotionEvent.ACTION_DOWN){ //記錄手放在屏幕上的點位置 startX=event.getX(); }else if(event.getAction()==MotionEvent.ACTION_UP){ //記錄手離開屏幕上的點位置 endX=event.getX(); if(endX>startX){ viewFlipper.setInAnimation(in_lefttoright); viewFlipper.setOutAnimation(out_lefttoright); viewFlipper.showNext();//顯示下一頁 }else if(endX<startX){ viewFlipper.setInAnimation(in_righttoleft); viewFlipper.setOutAnimation(out_righttoleft); viewFlipper.showPrevious();//顯示前一頁 } return true; } return super.onTouchEvent(event); } }
在res/anim/文件夾下有
enter_lefttoright.xml和enter_righttoleft.xml
out_lefttoright.xml和out_righttoleft.xml
四個動畫配置文件:
enter_lefttoright.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="1000" /> </set>
enter_righttoleft.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <!-- 這里用到了平移動畫,這里只動x軸坐標就可以了 -100%p:這就是屏幕的寬度:這里的p代表parent,父元素的寬度,都是 手機屏幕寬度,第一頁要從-100%p移動到0,持續5秒中. --> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="1000" /> </set>
out_lefttoright.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="1000" /> </set>
out_righttoleft.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="1000" /> </set>
效果:用手向右滑動,整個頁面向右慢慢滑動,切換頁面,用手向左滑動,整個頁面向左慢慢滑動,切換頁面。
(將配置文件換成其他的動畫效果也可以,本例子使用的是移入移出的動畫效果)
以上是“Android如何實現頁面滑動切換動畫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
當前文章:Android如何實現頁面滑動切換動畫
網頁路徑:http://vcdvsql.cn/article6/jhpdog.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、網站設計、自適應網站、網站收錄、搜索引擎優化、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯