ScrollView允许内容溢出

目标

我试图让一个scrollview溢出(不剪辑其子)。 我有这个工作与旋转木马视图,但不能得到相同的结果与scrollview

这个想法是中心的scrollview并允许溢出,所以内容可以看起来居中(被用作标签)。


在Xamarin Forms中使用scrollview

  var scrollView = new ScrollView { WidthRequest = 200, HorizontalOptions = LayoutOptions.Center, Orientation = ScrollOrientation.Horizontal, Content = scrollViewContent, IsClippedToBounds = false }; 

这是我为scrollview自定义的渲染器:

 public class CenteredScrollViewRenderer : ScrollViewRenderer { protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); if (e.OldElement != null || this.Element == null) return; if (e.OldElement != null) e.OldElement.PropertyChanged -= OnElementPropertyChanged; e.NewElement.PropertyChanged += OnElementPropertyChanged; } protected void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { if (ChildCount > 0) { GetChildAt(0).HorizontalScrollBarEnabled = false; GetChildAt(0).VerticalScrollBarEnabled = false; GetChildAt(0).OverScrollMode = OverScrollMode.Never; // Try and disable clip ((ViewGroup)GetChildAt(0)).SetClipToPadding(false); ((ViewGroup)GetChildAt(0)).SetClipChildren(false); } } } 

其他尝试

我也创build了一个函数来通过所有父母禁用裁剪只是为了看看是否是一个父母造成的问题。 这仍然没有奏效。

那么我们如何让scrollview内容溢出呢?

注:我标记为Android,因为这可能是本地控制的一个简单的误解。


更新:

试图尽我所能地形成想要的效果。 滚动型

所以蓝色的大边框是scrollview中间的contentview 。 滚动内容仅在滚动scrollview内部可见时(它总是如何工作)。 我试图不剪辑的内容,所以总是可以看到所有内容(溢出),而不只是在scrollview


更新2:

下面的链接可能会解释我更好的后,我有。 请看看,有任何问题让我知道。

分页启用UIScrollView与预览

注意:我已将触摸事件关联起来,因此只能禁用裁剪边界,因此我需要find一个修复程序。

Solutions Collecting From Web of "ScrollView允许内容溢出"

您可以尝试与仰angular/阴影裁剪相同的方法。

添加父级布局,向父级布局添加填充(以实现居中的项目),并在父级布局中设置clipToPadding=false

由于这个问题是关于Xamarin的,我只是提到,对于原生Android开发,您可以通过RecyclerView和SnapHelper类的实现来实现相同的中心locking效果。