国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現頁面滑動切換動畫

2019-10-22 18:18:23
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android實現頁面滑動切換動畫的具體代碼,供大家參考,具體內容如下

實現兩個頁面滑動切換,一些相冊的效果也是如此

一個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> 

效果:用手向右滑動,整個頁面向右慢慢滑動,切換頁面,用手向左滑動,整個頁面向左慢慢滑動,切換頁面。
(將配置文件換成其他的動畫效果也可以,本例子使用的是移入移出的動畫效果)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河东区| 新龙县| 三江| 宁远县| 饶河县| 若尔盖县| 北辰区| 金溪县| 南漳县| 泸溪县| 黄石市| 景德镇市| 瑞昌市| 杭锦后旗| 新源县| 昂仁县| 绥棱县| 锦屏县| 岚皋县| 双桥区| 博罗县| 萨迦县| 赞皇县| 上饶市| 汽车| 琼海市| 泊头市| 镇安县| 建昌县| 玉环县| 台前县| 绥棱县| 云安县| 冀州市| 尚志市| 白朗县| 商洛市| 历史| 台南市| 商洛市| 马尔康县|