Android App中使用ViewPager實(shí)現(xiàn)滑動(dòng)分頁(yè)的要點(diǎn)解析
以前如果要做 Tab 分頁(yè)的話,必須要用一個(gè)很難用的 TabActivity,而且做出來(lái)的效果很差,彈性也很小

忘了從什么時(shí)候開始,Google release 了 ViewPager 這好東西取代了以前難用的 Gallery 元件,加上從 Honeycomb 導(dǎo)入的 Fragment 之后終于能夠簡(jiǎn)單做出好看又好用的 Layout 了!
這里我們采用PagerTabStrip ,做出來(lái)的效果如下

特色就是使用簡(jiǎn)單,出來(lái)的效果則是目前顯示的分頁(yè) Tab 的文字會(huì)自動(dòng)置中,然后分別在左右顯示上一個(gè)/下一個(gè) Tab。
并且在滑動(dòng) Tab 的時(shí)候,下面的分頁(yè)會(huì)自動(dòng)跟著切換。
實(shí)作方式如下:
your_layout.xml
...
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pagetTab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"/>
</android.support.v4.view.ViewPager>
...
首先在你的 Layout file 里面,找到你放置 ViewPager 的地方,里面插入這個(gè) PagerTabStrip ,其中android:layout_gravity 的地方可以指定 top 或是 bottom 看你要讓他在 ViewPager 的上面或是下面。
接著在 Java code 的部份。
MainActivity.java
... PagerTabStrip tabStrip = (PagerTabStrip) findViewById(R.id.pagetTab); tabStrip.setDrawFullUnderline(true); tabStrip.setTabIndicatorColorResource(android.R.color.holo_blue_dark); tabStrip.setBackgroundColor(Color.WHITE); ...
基本上就是把指示條的部份開啟,然后設(shè)定背景還有指示條的顏色。
這樣就完成了!
禁止ViewPager的左右滑動(dòng)
如果要禁止滑動(dòng),就是重寫ViewPager的 onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,這兩個(gè)方法的返回值都是boolean類型的,只需要將返回值改為false,那么ViewPager就不會(huì)消耗掉手指滑動(dòng)的事件了,轉(zhuǎn)而傳遞給上層View去處理或者該事件就直接終止了。
public class MyViewPager extends ViewPager {
// private static final String TAG = "ViewPager";
//是否禁止左右滑動(dòng)
private boolean disableScroll=false;
public MyViewPager(Context context) {
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// LogHelper.i(TAG, "MyViewPager dispatchTouchEvent, ");
if (getParent() != null) {
getParent().requestDisallowInterceptTouchEvent(true);
}
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
if(disableScroll){
return false;
}
return super.onInterceptTouchEvent(arg0);
}
@Override
public boolean onTouchEvent(MotionEvent arg0) {
if (disableScroll)
return false;
else
return super.onTouchEvent(arg0);
}
public boolean isDisableScroll() {
return disableScroll;
}
public void setDisableScroll(boolean disableScroll) {
this.disableScroll = disableScroll;
}
}
- android使用ViewPager組件實(shí)現(xiàn)app引導(dǎo)查看頁(yè)面
- Android用webView包裝WebAPP方法
- Android APP之WebView校驗(yàn)SSL證書的方法
- Android中TabLayout+ViewPager 簡(jiǎn)單實(shí)現(xiàn)app底部Tab導(dǎo)航欄
- 詳解Android中ListView實(shí)現(xiàn)圖文并列并且自定義分割線(完善仿微信APP)
- Android App使用RecyclerView實(shí)現(xiàn)上拉和下拉刷新的方法
- Android App開發(fā)中使用RecyclerView替代ListView的實(shí)踐
- Android App中ViewPager所帶來(lái)的滑動(dòng)沖突問(wèn)題解決方法
- Android自定義View app更新動(dòng)畫詳解
相關(guān)文章
android端使用openCV實(shí)現(xiàn)車牌檢測(cè)
這篇文章主要為大家詳細(xì)介紹了android端使用openCV實(shí)現(xiàn)車牌檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
Android入門教程之ListView的應(yīng)用示例
這篇文章主要介紹了Android入門教程之ListView的應(yīng)用,結(jié)合簡(jiǎn)單實(shí)例形式分析了Android中l(wèi)istview的簡(jiǎn)單創(chuàng)建與使用步驟,需要的朋友可以參考下2016-10-10
Android自定義View實(shí)現(xiàn)加載進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)加載進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android 中 viewpager 滑動(dòng)指示器的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了android 中 viewpager 滑動(dòng)指示器,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12
android實(shí)現(xiàn)滑動(dòng)標(biāo)簽頁(yè)效果的代碼解析
這篇文章主要介紹了android實(shí)現(xiàn)滑動(dòng)標(biāo)簽頁(yè)效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
如何正確實(shí)現(xiàn)Android啟動(dòng)屏畫面的方法(避免白屏)
本篇文章主要介紹了如何正確實(shí)現(xiàn)Android啟動(dòng)屏畫面的方法(避免白屏),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
Android audio音頻流數(shù)據(jù)異常問(wèn)題解決分析
這篇文章主要為大家介紹了Android audio音頻流數(shù)據(jù)異常問(wèn)題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Android動(dòng)態(tài)添加設(shè)置布局與控件的方法
這篇文章主要介紹了Android動(dòng)態(tài)添加設(shè)置布局與控件的方法,涉及Android中布局與控件的相關(guān)操作技巧,需要的朋友可以參考下2016-01-01

