作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 xamarin 的新手,我试图通过创建自定义 Viewpager 来禁用滑动,但我在 Viewpager 中找不到触摸监听器界面。有什么办法吗?
public class CustomViewPager : ViewPager
{
Context _context;
public CustomViewPager(Context context) : base(context)
{
_context = context;
}
public CustomViewPager(Context context, IAttributeSet arg1) : base(context, arg1)
{
_context = context;
}
public bool IsPagerDisabled { get; set; }
/*public override Boolean OnTouchEvent(MotionEvent event)
{
if (!IsPagerDisabled)
{
return base.OnTouchEvent(event);
}
else
{
return false;
}
}*/
}
最佳答案
我最近做了一个类似的实现,这看起来很有魅力:
using Android.Content;
using Android.Support.V4.View;
using Android.Views;
public class LockableViewPager : ViewPager
{
public bool SwipeLocked { get; set; }
Context mContext;
public LockableViewPager(Context context) : base(context)
{
Init(context, null);
}
public LockableViewPager(Context context, Android.Util.IAttributeSet attrs) : base(context, attrs)
{
Init(context, attrs);
}
private void Init(Context ctx, Android.Util.IAttributeSet attrs)
{
mContext = ctx;
}
public override bool OnTouchEvent(MotionEvent ev)
{
return !SwipeLocked && base.OnTouchEvent(ev);
}
public override bool OnInterceptTouchEvent(MotionEvent e)
{
return !SwipeLocked && base.OnInterceptTouchEvent(e);
}
public override bool CanScrollHorizontally(int direction)
{
return !SwipeLocked && base.CanScrollHorizontally(direction);
}
}
如何使用?
在 xml 中:
<_yourNameSpace.LockableViewPager
auto:SwipeLocked="true"
自动在哪里
xmlns:auto="http://schemas.android.com/apk/res-auto"
在代码中:
LockableViewPager viewpager= new LoackableViewpager();
Viewpager.SwipeLocked=true;
关于android - 有没有办法在 Xamarin Native android 中禁用 Android 上的选项卡式页面之间的滑动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50598088/
我是一名优秀的程序员,十分优秀!