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

首頁(yè) > 系統(tǒng) > Android > 正文

Android實(shí)現(xiàn)頁(yè)面滑動(dòng)切換動(dòng)畫(huà)

2019-12-12 01:23:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了Android實(shí)現(xiàn)頁(yè)面滑動(dòng)切換動(dòng)畫(huà)的具體代碼,供大家參考,具體內(nèi)容如下

實(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)然后松開(kāi)翻下一頁(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){       //記錄手離開(kāi)屏幕上的點(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)畫(huà)配置文件:

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)畫(huà),這里只動(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)畫(huà)效果也可以,本例子使用的是移入移出的動(dòng)畫(huà)效果)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉屏| 内黄县| 沁阳市| 剑川县| 马关县| 普陀区| 崇左市| 尼勒克县| 沿河| 西城区| 白水县| 安岳县| 沁阳市| 临高县| 娱乐| 繁昌县| 金阳县| 新余市| 岳阳县| 中超| 唐山市| 广宗县| 巴马| 高雄市| 本溪| 台中市| 贵港市| 鲁山县| 侯马市| 朝阳区| 攀枝花市| 玛多县| 新泰市| 乌海市| 韶山市| 巴林右旗| 贵港市| 巴中市| 八宿县| 巧家县| 盱眙县|