中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android ViewFlipper的詳解及實例

發布時間:2020-10-10 17:36:42 來源:腳本之家 閱讀:172 作者:lqh 欄目:移動開發

Android ViewFlipper的詳解

前言:

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

類結構

Android 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的詳解及實例

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝南县| 泾川县| 遵义县| 武功县| 和田市| 尖扎县| 封丘县| 汾西县| 梁河县| 呼玛县| 巴青县| 马公市| 定远县| 琼海市| 自贡市| 博湖县| 塔城市| 子洲县| 贵州省| 湖南省| 余干县| 南澳县| 武汉市| 凌源市| 应用必备| 洛川县| 玉林市| 峨眉山市| 罗田县| 绩溪县| 英吉沙县| 宝丰县| 石家庄市| 余庆县| 凉城县| 嵩明县| 青岛市| 通海县| 阿克苏市| 介休市| 阳泉市|