Android ViewFlipper的詳解及實(shí)例
Android ViewFlipper的詳解
前言:
View Flipper,是ViewAnimator的子類,而ViewAnimator又是繼承自FrameLayout,而FrameLayout就是平時基本上只顯示一個子視圖的布局,由于FrameLayout下不好確定子視圖的位置,所以很多情況下子視圖之前存在相互遮擋,這樣就造成了很多時候我們基本上只要求FrameLayout顯示一個子視圖,然后通過某些控制來實(shí)現(xiàn)切換。正好,ViewFlipper幫我們實(shí)現(xiàn)了這個工作,我們需要做的就是,選擇恰當(dāng)?shù)臅r機(jī)調(diào)用其恰當(dāng)?shù)姆椒纯?br />
類結(jié)構(gòu)

| 方法 | 意義 |
|---|---|
| startFlipping | 開始瀏覽 |
| stopFlipping | 停止瀏覽 |
| setFlipInterval | 設(shè)置View之間切換的時間間隔 |
| getAccessibilityClassName | 獲取類名稱 |
| isFlipping | 判斷是否正在瀏覽 |
| setAutoStart | 設(shè)置是否自動開始瀏覽 |
| 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);//設(shè)置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;
}
}
實(shí)際效果

以上就是Android ViewFlipper的使用方法,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android RecyclerView自由拖動item的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android RecyclerView自由拖動item的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
基于Android應(yīng)用中如何反饋Crash報告的詳解
本篇文章是對在Android應(yīng)用中如何反饋Crash報告的詳細(xì)分析介紹。需要的朋友參考下2013-05-05
android開發(fā)基礎(chǔ)教程—打電話發(fā)短信
打電話發(fā)短信的功能已經(jīng)離不開我們的生活了,記下來介紹打電話發(fā)短信的具體實(shí)現(xiàn)代碼,感興趣的朋友可以了解下2013-01-01
Android 使用jQuery實(shí)現(xiàn)item點(diǎn)擊顯示或隱藏的特效的示例
本篇文章主要介紹了Android 使用jQuery實(shí)現(xiàn)item點(diǎn)擊顯示或隱藏的特效的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
Android WebView或手機(jī)瀏覽器打開連接問題解決辦法總結(jié)
這篇文章主要介紹了Android WebView或手機(jī)瀏覽器打開連接問題解決辦法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-03-03
21天學(xué)習(xí)android開發(fā)教程之SurfaceView
21天學(xué)習(xí)android開發(fā)教程之SurfaceView,SurfaceView由于可以直接從內(nèi)存或者DMA等硬件接口取得圖像數(shù)據(jù),因此是個非常重要的繪圖容器,操作相對簡單,感興趣的小伙伴們可以參考一下2016-02-02
Android學(xué)習(xí)筆記——Menu介紹(三)
今天繼續(xù)昨天沒有講完的Menu的學(xué)習(xí),主要是Popup Menu的學(xué)習(xí),需要的朋友可以參考下2014-10-10
Android手機(jī)號碼輸入框(滿11位自動跳到下個輸入框)實(shí)例代碼
這篇文章主要介紹了Android手機(jī)號碼輸入框(滿11位自動跳到下個輸入框)實(shí)例代碼,需要的朋友可以參考下2017-10-10
Android自定義View實(shí)現(xiàn)字母導(dǎo)航欄
通常手機(jī)通訊錄都會有索引欄,這篇文章主要介紹了Android自定義View實(shí)現(xiàn)字母導(dǎo)航欄,現(xiàn)在分享給大家。2016-10-10

