看到操作栏的标签布局现在已弃用,我需要使用滑动标签布局。
但是,我不希望用户能够刷卡,因为第一个标签将包含用户可以移动的谷歌地图,并像任何普通地图一样浏览。
因此,我希望将用户限制为仅点击每个标签而不是滑动来更改屏幕。
另外,无论如何,即使用户切换标签,我仍然可以加载第一个标签吗?我不想每次都要加载/重绘Google地图。
答案 0 :(得分: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)
方法随时禁用和启用滑动。
希望它有所帮助。 :)