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