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

首頁 > 系統 > Android > 正文

Android ViewFlipper的詳解及實例

2019-12-12 02:13:44
字體:
來源:轉載
供稿:網友

Android ViewFlipper的詳解

前言:

View Flipper,是ViewAnimator的子類,而ViewAnimator又是繼承自FrameLayout,而FrameLayout就是平時基本上只顯示一個子視圖的布局,由于FrameLayout下不好確定子視圖的位置,所以很多情況下子視圖之前存在相互遮擋,這樣就造成了很多時候我們基本上只要求FrameLayout顯示一個子視圖,然后通過某些控制來實現切換。正好,ViewFlipper幫我們實現了這個工作,我們需要做的就是,選擇恰當的時機調用其恰當的方法即可

類結構

方法 意義
startFlipping 開始瀏覽
stopFlipping 停止瀏覽
setFlipInterval 設置View之間切換的時間間隔
getAccessibilityClassName 獲取類名稱
isFlipping 判斷是否正在瀏覽
setAutoStart 設置是否自動開始瀏覽
isAutoStart 判斷是否為自動開始瀏覽

基本使用

1. 動畫定義

scalein.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">  <scale    android:duration="1000"    android:fromXScale="0.2"    android:fromYScale="0.2"    android:toYScale="1"    android:toXScale="1"    android:pivotX="50%"    android:pivotY="50%"    >  </scale></set>

scaleout.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">  <scale    android:duration="1000"    android:fromXScale="1"    android:fromYScale="1"    android:toYScale="0.2"    android:toXScale="0.2"    android:pivotX="50%"    android:pivotY="50%">  </scale></set>

2. 布局文件

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/activity_main"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  tools:context="jzfp.gs.com.animationdemo.MainActivity">  <android.support.v7.widget.Toolbar    android:id="@+id/toolbar"    android:layout_width="match_parent"    android:layout_height="?attr/actionBarSize"    android:background="@color/colorPrimary"></android.support.v7.widget.Toolbar>  <!--漸入動畫 和 漸出動畫定義-->  <ViewFlipper    android:id="@+id/vf"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:inAnimation="@anim/scalein"    android:outAnimation="@anim/scaleout">    <ImageView      android:layout_width="match_parent"      android:layout_height="match_parent"      android:background="@mipmap/one" />    <ImageView      android:layout_width="match_parent"      android:layout_height="match_parent"      android:background="@mipmap/two" />    <ImageView      android:layout_width="match_parent"      android:layout_height="match_parent"      android:background="@mipmap/three" />  </ViewFlipper></LinearLayout>

3. 左右滑動切換

public class MainActivity extends AppCompatActivity {  private ViewFlipper viewFlipper = null;  float PosX = 0, CurrentX = 0;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);    toolbar.setNavigationIcon(R.drawable.left);    setSupportActionBar(toolbar);//設置ActionBar    viewFlipper = (ViewFlipper) findViewById(R.id.vf);  }  @Override  public boolean onTouchEvent(MotionEvent event) {    switch (event.getAction()) {      case MotionEvent.ACTION_DOWN:        PosX = event.getX();        break;      case MotionEvent.ACTION_MOVE:        CurrentX = event.getX();        break;      case MotionEvent.ACTION_UP:        if (CurrentX - PosX > 25.0) {//向右滑動切換到上一頁          viewFlipper.showPrevious();        } else if (CurrentX - PosX < -25.0) {//向左滑動,切換到下一頁          viewFlipper.showNext();        }    }    return true;  }}

實際效果

以上就是Android ViewFlipper的使用方法,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安阳市| 汉阴县| 焉耆| 大埔区| 广平县| 方山县| 崇阳县| 顺平县| 泸定县| 中宁县| 南安市| 嘉义市| 民和| 万山特区| 海原县| 东山县| 米脂县| 咸宁市| 新田县| 北安市| 宜章县| SHOW| 阿尔山市| 黄梅县| 大庆市| 义马市| 上栗县| 崇阳县| 周宁县| 屏边| 溧阳市| 全南县| 临澧县| 阳高县| 色达县| 石景山区| 红桥区| 五指山市| 新津县| 隆德县| 镇沅|