2015-09-07 43 views
3

查看如何取消操作欄的標籤佈局現在我需要使用滑動標籤佈局。Android - 如何禁用SlidingTabLayout的滑動方面

但是,我不希望用戶能夠滑動,因爲第一個標籤頁將包含谷歌地圖,用戶可以像任何普通地圖一樣移動和瀏覽。

所以我想限制用戶只點擊每個標籤,而不是刷卡來改變屏幕。

另外,無論如何,我可以保持第一個標籤加載,即使用戶切換標籤?我不想每次都要加載/重繪google地圖。

+0

您是否在您的標籤佈局上使用viewpager? –

回答

2

我會回答你關於在標籤佈局中禁用滑動事件的問題。

如果您在佈局中使用ViewPager,則可以制定自定義ViewPager,該擴展ViewPager並設置禁用和啓用滑動的方法。

下面是一個示例:

public class CustomViewPager extends ViewPager 
{ 
    private boolean enabled; 

    public CustomViewPager(Context context, AttributeSet attrs) 
    { 
     super(context, attrs); 
     this.enabled = true; 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) 
    { 
     if (this.enabled) 
     { 
      return super.onTouchEvent(event); 
     } 

     return false; 
    } 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent event) 
    { 
     if (this.enabled) 
     { 
      return super.onInterceptTouchEvent(event); 
     } 

     return false; 
    } 

    public void setPagingEnabled(boolean enabled) 
    { 
     this.enabled = enabled; 
    } 
} 

如可以從上面的代碼中可以看出,可以禁用,並通過調用方法setPagingEnabled(boolean enabled)隨時啓用滑動。

希望它有幫助。 :)