看看现在如何弃用操作栏的选项卡布局,我需要使用滑动选项卡布局。

但是,我不希望用户能够滑动,因为第一个选项卡将包含一个google地图,用户可以像任何普通地图一样四处移动。

因此,我想限制用户只单击每个选项卡,而不要滑动来更改屏幕。

另外,即使用户切换标签页,我仍然可以保持第一个标签页加载吗?我不想每次都加载/重绘Google地图。

最佳答案

我将回答有关在选项卡布局中禁用滑动事件的问题。

如果在布局中使用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)方法禁用和启用刷卡。

希望能帮助到你。 :)

10-07 19:14
查看更多