gpt4 book ai didi

android - 有没有办法在 Xamarin Native android 中禁用 Android 上的选项卡式页面之间的滑动?

转载 作者:行者123 更新时间:2023-11-29 01:01:45 25 4
gpt4 key购买 nike

我是 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com