看看现在如何弃用操作栏的选项卡布局,我需要使用滑动选项卡布局。
但是,我不希望用户能够滑动,因为第一个选项卡将包含一个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)
方法禁用和启用刷卡。希望能帮助到你。 :)