Android之禁止ViewPager滑動(dòng)實(shí)現(xiàn)實(shí)例

Android之禁止ViewPager滑動(dòng)實(shí)現(xiàn)實(shí)例

創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元安福做網(wǎng)站,已為上家服務(wù),為安福各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

當(dāng)我們想在同一個(gè)Activity或者Fragment中展示多個(gè)頁(yè)面時(shí)往往會(huì)用到ViewPager,通過滑動(dòng),我們可以很方便地在不同的頁(yè)面中切換。但是在某些情況下我們可能并不需要通過滑動(dòng)來(lái)切換ViewPager中的頁(yè)面(比如為了避免跟頁(yè)面內(nèi)的某些觸摸事件沖突),而是希望只點(diǎn)擊下面或者上面的按鈕來(lái)切換頁(yè)面。像知乎那樣:

Android之禁止ViewPager滑動(dòng)實(shí)現(xiàn)實(shí)例

那么有什么方法可以實(shí)現(xiàn)不滑動(dòng)ViewPager呢?其實(shí)很簡(jiǎn)單,只需要自定義一個(gè)不滑動(dòng)的ViewPager就可以了。ViewPager之所以會(huì)隨著手勢(shì)滑動(dòng),是因?yàn)樗褂昧薿nTouchEvent監(jiān)聽事件(查看源碼就可以知道)。那我們可以反其道而行之,改動(dòng)它的onTouchEvent方法就可以了。

使用自定義控件的寫法,創(chuàng)建一個(gè)MyViewPager類,繼承于ViewPager,由于我們并不需要觸摸監(jiān)聽事件,所以重寫ViewPager中的onTouchEvent方法,返回一個(gè)true即可。

public class MyViewPager extends ViewPager {

  public MyViewPager(Context context) {
    super(context);
  }

  public MyViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
  }

  @Override
  public boolean onTouchEvent(MotionEvent ev) {
    return true;
  }
}

然后,只需要使用我們自定義好的ViewPager即可。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

分享題目:Android之禁止ViewPager滑動(dòng)實(shí)現(xiàn)實(shí)例
標(biāo)題來(lái)源:http://muchs.cn/article48/ghighp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、品牌網(wǎng)站設(shè)計(jì)企業(yè)網(wǎng)站制作、外貿(mào)建站軟件開發(fā)、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)