<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android實現左右滑動效果

        本示例演示在Android中實現圖片左右滑動效果。

       

        關于滑動效果,在Android中用得比較多,本示例實現的滑動效果是使用ViewFlipper來實現的,當然也可以使用其它的View來實現。接下來就讓我們開始實現這種效果。為了方便大家理解,我們先來看一下效果圖:

       

        主要效果圖如下圖:

       

          

       

        接下來我們看一下程序結構圖:

       

        

       

        MainActivity文件中代碼:

      package com.android.flip;
      
      import android.app.Activity;
      import android.os.Bundle;
      import android.view.GestureDetector;
      import android.view.MotionEvent;
      import android.view.View;
      import android.view.GestureDetector.OnGestureListener;
      import android.view.animation.AnimationUtils;
      import android.widget.ImageView;
      import android.widget.ViewFlipper;
      
      /**
       * Android實現左右滑動效果
       * @Description: Android實現左右滑動效果
      
       * @File: MainActivity.java
      
       * @Package com.android.flip
      
       * @Author Hanyonglu
      
       * @Date 2012-02-12 上午10:44:04
      
       * @Version V1.0
       */
      public class MainActivity extends Activity implements OnGestureListener {
          private ViewFlipper flipper;
          private GestureDetector detector;
          
          /** Called when the activity is first created. */
          @Override
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);
              
              detector = new GestureDetector(this);
              flipper = (ViewFlipper) this.findViewById(R.id.ViewFlipper1);
      
              flipper.addView(addImageView(R.drawable.one));
              flipper.addView(addImageView(R.drawable.two));
              flipper.addView(addImageView(R.drawable.three));
              flipper.addView(addImageView(R.drawable.four));
              flipper.addView(addImageView(R.drawable.five));
          }
          
          private View addImageView(int id) {
              ImageView iv = new ImageView(this);
              iv.setImageResource(id);
              return iv;
          }
          
          @Override
          public boolean onTouchEvent(MotionEvent event) {
              // TODO Auto-generated method stub
              return this.detector.onTouchEvent(event);
          }
          
          @Override
          public boolean onDown(MotionEvent e) {
              // TODO Auto-generated method stub
              return false;
          }
          
          @Override
          public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                  float velocityY) {
              if (e1.getX() - e2.getX() > 120) {
                  this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
                  this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
                  this.flipper.showNext();
                  return true;
              } else if (e1.getX() - e2.getX() < -120) {
                  this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in));
                  this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out));
                  this.flipper.showPrevious();
                  return true;
              }
              
              return false;
          }
          
          @Override
          public void onLongPress(MotionEvent e) {
              // TODO Auto-generated method stub
              
          }
          
          @Override
          public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
                  float distanceY) {
              // TODO Auto-generated method stub
              return false;
          }
          
          @Override
          public void onShowPress(MotionEvent e) {
              // TODO Auto-generated method stub
              
          }
          
          @Override
          public boolean onSingleTapUp(MotionEvent e) {
              // TODO Auto-generated method stub
              return false;
          }
      }

       

        布局界面相對比較簡單,我們只需要加入ViewFlipper就可以,代碼如下: 

      <?xml version="1.0" encoding="utf-8"?> 
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation
      ="vertical"
          android:layout_width
      ="fill_parent"
          android:layout_height
      ="fill_parent"
          
      >

          <ViewFlipper android:id="@+id/ViewFlipper1"
              android:layout_width
      ="fill_parent" 
              android:layout_height
      ="fill_parent">
          </ViewFlipper>

      </LinearLayout> 

       

        為了使其滑動時有一定的特效,我們需要加入Animation效果,說到Animation,我們先看下如何在Android中實現自定義Animation。自定義的Animation是以XML格式定義的,定義好的XML文件存放在res/anim中。

       

        一般的Animation有以下四種類型:

        1. Alpha:漸變透明度動畫效果

        2. Scale:漸變尺寸伸縮動畫效果

        3. Translate:畫面轉換位置移動動畫效果

        4. Rotate:畫面轉換位置移動動畫效果

       

        push_left_in.xml文件中代碼:

      <?xml version="1.0" encoding="utf-8"?>  

      <set xmlns:android="http://schemas.android.com/apk/res/android">
          <translate android:fromXDelta="100%p" android:toXDelta="0"
              android:duration="500" />
          <alpha android:fromAlpha="0.1" android:toAlpha="1.0"
              android:duration="500" />
      </set>

       

       

        push_left_out.xml文件中代碼: 

       <?xml version="1.0" encoding="utf-8"?> 
      <set xmlns:android="http://schemas.android.com/apk/res/android">
          <translate android:fromXDelta="0" android:toXDelta="-100%p"
              android:duration
      ="500" />
          <alpha android:fromAlpha="1.0" android:toAlpha="0.1"
              android:duration
      ="500" />

      </set>  

       

        push_right_in.xml文件中代碼:

      <?xml version="1.0" encoding="utf-8"?> 

      <set xmlns:android="http://schemas.android.com/apk/res/android">
          <translate android:fromXDelta="-100%p" android:toXDelta="0"
              android:duration="500" />
          <alpha android:fromAlpha="0.1" android:toAlpha="1.0"
              android:duration="500" />
      </set>

       

         push_right_out.xml文件中代碼:

      <?xml version="1.0" encoding="utf-8"?> 

      <set xmlns:android="http://schemas.android.com/apk/res/android">
          <translate android:fromXDelta="0" android:toXDelta="100%p"
              android:duration="500" />
          <alpha android:fromAlpha="1.0" android:toAlpha="0.1"
              android:duration="500" />

      </set>  

       

        如果大家想實現帶指引效果的左右滑動,請訪問博文:http://www.rzrgm.cn/hanyonglu/archive/2012/04/07/2435589.html 

       

        如果想實現帶漸顯按鈕的左右滑動效果,請訪問博文:http://www.rzrgm.cn/hanyonglu/archive/2012/02/13/2350171.html

       

        下載地址:點擊下載

       

        最后,希望轉載的朋友能夠尊重作者的勞動成果,加上轉載地址:http://www.rzrgm.cn/hanyonglu/archive/2012/02/13/2349827.html 謝謝。 

        

        結束。^_^

       

      posted @ 2012-02-13 18:04  Healtheon  閱讀(83908)  評論(8)    收藏  舉報
      主站蜘蛛池模板: 国产三级国产精品久久成人| 国产亚洲精品在av| 潮安县| 丰满人妻熟妇乱又伦精品劲| 亚洲综合精品第一页| 97精品国产91久久久久久久| 老司机精品影院一区二区三区| 国内揄拍国内精品少妇国语 | 韩国三级+mp4| 2020国产激情视频在线观看| 美女18禁一区二区三区视频| 国产亚洲精品精品精品| 好紧好滑好湿好爽免费视频| 国产乱理伦片在线观看| 国产精品无码无片在线观看3d | 日韩精品一区二区三区影院| 波多野42部无码喷潮| 日韩在线观看 一区二区| 久久午夜无码鲁丝片直播午夜精品 | 日韩中文字幕有码午夜美女| 亚洲男女羞羞无遮挡久久丫| 精品人妻日韩中文字幕| 夜夜爽77777妓女免费看| 亚洲成av一区二区三区| 樱花草视频www日本韩国| 国产午夜一区二区在线观看| 婷婷精品国产亚洲av在线观看| 亚洲va久久久噜噜噜久久狠狠| 精品人妻少妇一区二区三区 | 国产农村妇女aaaaa视频| 欧美丰满熟妇性xxxx| jizzjizz日本高潮喷水| 日韩av一区二区精品不卡| 精品福利一区二区三区免费视频 | 四虎影视一区二区精品| 无码一区二区三区中文字幕| 少妇xxxxx性开放| 亚洲v欧美v日韩v国产v| 国产色无码专区在线观看| 日韩毛片在线视频x| 粉嫩蜜臀av一区二区绯色|