小編給大家分享一下Android如何實(shí)現(xiàn)頁(yè)面滑動(dòng)切換動(dòng)畫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)龍江,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
實(shí)現(xiàn)兩個(gè)頁(yè)面滑動(dòng)切換,一些相冊(cè)的效果也是如此
一個(gè)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里面的子控件可以被看成一頁(yè)--> <ViewFlipper android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/viewFlipper" > <!-- 第一頁(yè) --> <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="第一頁(yè)" /> </LinearLayout> <!-- 第二頁(yè) --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="第二頁(yè)" /> </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);
}
//處理觸屏?xí)r間的方法
//手在屏幕上向右滑動(dòng)然后松開翻下一頁(yè),向左翻顯示前一頁(yè)
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){
//記錄手放在屏幕上的點(diǎn)位置
startX=event.getX();
}else if(event.getAction()==MotionEvent.ACTION_UP){
//記錄手離開屏幕上的點(diǎn)位置
endX=event.getX();
if(endX>startX){
viewFlipper.setInAnimation(in_lefttoright);
viewFlipper.setOutAnimation(out_lefttoright);
viewFlipper.showNext();//顯示下一頁(yè)
}else if(endX<startX){
viewFlipper.setInAnimation(in_righttoleft);
viewFlipper.setOutAnimation(out_righttoleft);
viewFlipper.showPrevious();//顯示前一頁(yè)
}
return true;
}
return super.onTouchEvent(event);
}
}在res/anim/文件夾下有
enter_lefttoright.xml和enter_righttoleft.xml
out_lefttoright.xml和out_righttoleft.xml
四個(gè)動(dòng)畫配置文件:
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"> <!-- 這里用到了平移動(dòng)畫,這里只動(dòng)x軸坐標(biāo)就可以了 -100%p:這就是屏幕的寬度:這里的p代表parent,父元素的寬度,都是 手機(jī)屏幕寬度,第一頁(yè)要從-100%p移動(dòng)到0,持續(xù)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>
效果:用手向右滑動(dòng),整個(gè)頁(yè)面向右慢慢滑動(dòng),切換頁(yè)面,用手向左滑動(dòng),整個(gè)頁(yè)面向左慢慢滑動(dòng),切換頁(yè)面。
(將配置文件換成其他的動(dòng)畫效果也可以,本例子使用的是移入移出的動(dòng)畫效果)
以上是“Android如何實(shí)現(xiàn)頁(yè)面滑動(dòng)切換動(dòng)畫”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:Android如何實(shí)現(xiàn)頁(yè)面滑動(dòng)切換動(dòng)畫
網(wǎng)頁(yè)路徑:http://chinadenli.net/article6/jhpdog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、網(wǎng)站收錄、搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)