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

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

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

      ViewFlipper(多圖層控件)及手勢識別,代碼創建動畫效果

      layout

       1 <?xml version="1.0" encoding="utf-8"?>
       2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       3     android:layout_width="fill_parent"
       4     android:layout_height="fill_parent"
       5     android:orientation="vertical" >
       6 
       7     <LinearLayout
       8         android:visibility="gone"
       9         android:layout_width="fill_parent"
      10         android:layout_height="wrap_content"
      11         android:orientation="horizontal" >
      12 
      13         <Button
      14             android:layout_width="0dip"
      15             android:onClick="pre"
      16             android:layout_height="wrap_content"
      17             android:layout_weight="1"
      18             android:text="上一個" />
      19 
      20         <Button
      21             android:layout_width="0dip"
      22             android:onClick="next"
      23             android:layout_height="wrap_content"
      24             android:layout_weight="1"
      25             android:text="下一個" />
      26     </LinearLayout>
      27 
      28     <ViewFlipper
      29         android:id="@+id/vf"
      30         android:layout_width="fill_parent"
      31         android:layout_height="fill_parent" >
      32     </ViewFlipper>
      33 
      34 </LinearLayout>

      Activity

        1 package cn.itcast.image;
        2 
        3 import java.io.File;
        4 
        5 import android.app.Activity;
        6 import android.app.ProgressDialog;
        7 import android.net.Uri;
        8 import android.os.Bundle;
        9 import android.os.Environment;
       10 import android.os.Handler;
       11 import android.os.Message;
       12 import android.view.GestureDetector;
       13 import android.view.MotionEvent;
       14 import android.view.View;
       15 import android.view.animation.Animation;
       16 import android.view.animation.AnimationUtils;
       17 import android.widget.ImageView;
       18 import android.widget.TextView;
       19 import android.widget.ViewFlipper;
       20 
       21 public class DemoActivity extends Activity {
       22     private ViewFlipper vf;
       23     private GestureDetector mGestureDetector;
       24     private ProgressDialog pd;
       25     private Handler handler = new Handler(){
       26         public void handleMessage(android.os.Message msg) {
       27             ImageView iv  =  (ImageView) msg.obj;
       28             vf.addView(iv);
       29         };
       30     };
       31     @Override
       32     public void onCreate(Bundle savedInstanceState) {
       33         super.onCreate(savedInstanceState);
       34         setContentView(R.layout.main);
       35         vf = (ViewFlipper) findViewById(R.id.vf);
       36         pd = new ProgressDialog(this);
       37         pd.setMessage("正在加載圖片信息");
       38         // 創建手勢識別器.
       39         mGestureDetector = new GestureDetector(
       40                 new GestureDetector.SimpleOnGestureListener() {
       41 
       42                     // 手指在屏幕上滑動的時候 調用的方法.
       43                     // e1 手指第一次接觸到屏幕的時候 對應的事件
       44                     // e2 手指離開屏幕的時候 對應的事件
       45                     // velocityx 水平方向的移動速度
       46                     @Override
       47                     public boolean onFling(MotionEvent e1, MotionEvent e2,
       48                             float velocityX, float velocityY) {
       49                         if (Math.abs(e1.getY() - e2.getY()) > 100) {
       50                             System.out.println("垂直方向移動過大");
       51                             return true;
       52                         }
       53 
       54                         if (Math.abs(velocityX) < 100) {
       55                             System.out.println("滑動的太慢了...");
       56                             return true;
       57                         }
       58                         if (e2.getX() - e1.getX() > 100) {
       59                             Animation inAnimation = AnimationUtils.loadAnimation(DemoActivity.this, R.anim.alpha_in);
       60                             Animation outAnimation = AnimationUtils.loadAnimation(DemoActivity.this, R.anim.alpha_out);
       61                             vf.setInAnimation(inAnimation);
       62                             vf.setOutAnimation(outAnimation);
       63                             vf.showPrevious();
       64                             return true;
       65                         }
       66                         if (e1.getX() - e2.getX() > 100) {
       67                             Animation inAnimation = AnimationUtils.loadAnimation(DemoActivity.this, R.anim.tran_in);
       68                             Animation outAnimation = AnimationUtils.loadAnimation(DemoActivity.this, R.anim.tran_out);
       69                             vf.setInAnimation(inAnimation);
       70                             vf.setOutAnimation(outAnimation);
       71                             vf.showNext();
       72                             return true;
       73                         }
       74                         return super.onFling(e1, e2, velocityX, velocityY);
       75                     }
       76 
       77                 });
       78         pd.show();
       79         new Thread() {
       80             public void run() {
       81                 File file = Environment.getExternalStorageDirectory();
       82 
       83                 File[] files = file.listFiles();
       84                 for (File f : files) {
       85                     if (f.isFile() && f.getName().endsWith("jpg")) {
       86                         ImageView iv = new ImageView(DemoActivity.this);
       87                         iv.setImageURI(Uri.fromFile(f));
       88                         Message msg = Message.obtain();
       89                         msg.obj = iv;
       90                         handler.sendMessage(msg);
       91                     }
       92                 }
       93                 pd.dismiss();
       94             };
       95         }.start();
       96 
       97     }
       98 
       99     @Override
      100     public boolean onTouchEvent(MotionEvent event) {
      101 
      102         mGestureDetector.onTouchEvent(event);// 使用手勢識別器 識別當前的手勢
      103 
      104         return super.onTouchEvent(event);
      105     }
      106 
      107     public void next(View view) {
      108         vf.showNext();
      109     }
      110 
      111     public void pre(View view) {
      112         vf.showPrevious();
      113     }
      114 }
      動畫效果的.xml文件

      alpha_in.xml

      1 <?xml version="1.0" encoding="utf-8"?>
      2 <alpha xmlns:android="http://schemas.android.com/apk/res/android"
      3     android:duration="500"
      4     android:fromAlpha="0.0"
      5     android:toAlpha="1.0" >
      6 
      7 </alpha>


      alpha_out.xml

      1 <?xml version="1.0" encoding="utf-8"?>
      2 <alpha xmlns:android="http://schemas.android.com/apk/res/android"
      3     android:duration="500"
      4     android:fromAlpha="0.0"
      5     android:toAlpha="1.0" >
      6 
      7 </alpha>


      tran_in.xml

      1 <?xml version="1.0" encoding="utf-8"?>
      2 <translate  xmlns:android="http://schemas.android.com/apk/res/android"
      3     android:fromXDelta="100%p"
      4     android:toXDelta="0"
      5     android:fromYDelta="0"
      6     android:toYDelta="0"
      7     android:duration="800"
      8     >
      9 </translate>

      tran_out.xml

      1 <?xml version="1.0" encoding="utf-8"?>
      2 <translate  xmlns:android="http://schemas.android.com/apk/res/android"
      3     android:fromXDelta="0"
      4     android:toXDelta="-100%p"
      5     android:fromYDelta="0"
      6     android:toYDelta="0"
      7     android:duration="800"
      8     >
      9 </translate>

       

       

       

       

       

       

      posted @ 2013-01-19 20:19  王世楨  閱讀(327)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 大尺度国产一区二区视频| 夜夜躁狠狠躁日日躁视频| 日韩有码中文在线观看| 国内精品久久久久影院日本| 免费A级毛片中文字幕| 阿克| 久久亚洲日本激情战少妇| 日本夜爽爽一区二区三区| 国产精品午夜福利在线观看| 日韩高清亚洲日韩精品一区二区| 97久久精品人人澡人人爽| 成人动漫综合网| 高清有码国产一区二区| 丰满人妻熟妇乱又仑精品| 亚洲综合无码明星蕉在线视频| 南宁市| 亚洲一区二区三区丝袜| 亚洲欧美成人一区二区三区| 中文字幕精品亚洲二区| 久久国产精品不只是精品| 色欲综合久久中文字幕网| 人妻熟女一区二区aⅴ向井蓝| 久久精品国产国产精品四凭| 亚洲ΑV久久久噜噜噜噜噜| 国产成人av电影在线观看第一页| 高清国产av一区二区三区| 久久天天躁夜夜躁狠狠| 亚洲国产精品成人无码区| 狠狠躁日日躁夜夜躁欧美老妇| 国产高清色高清在线观看| 日本高清一区免费中文视频| 免费的特黄特色大片| 婷婷开心深爱五月天播播| 最近中文字幕日韩有码| 色综合久久人妻精品日韩| 99精品国产一区二区三区不卡| 激情六月丁香婷婷四房播| 日韩一区二区三区精品区| 国产精品无码无卡在线播放| 人与禽交av在线播放| 日韩精品专区在线影观看|