xamarin.form scrollView

<ContentPage.Content>
        <ScrollView Orientation="Horizontal">
            <StackLayout Orientation="Horizontal">
                <Label Text="123123123"></Label>
            </StackLayout>
        </ScrollView>
    </ContentPage.Content>

  其中有1个比较重要的属性Orientation可以改变滚动方向,如果你想通过代码修改当前滚动条的位置,可以使用scroll.ScrollToAsync方法来实现

如果你不想显示滚动条,那么只能在各自的Android和IOS平台实现

Android平台

[assembly:ExportRenderer(typeof(Xamarin.Forms.ScrollView),typeof(ScrollViewNoRender))]
namespace App1.Droid.Render
{
    public class ScrollViewNoRender : ScrollViewRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);
            if (e.OldElement != null)
            {
                e.NewElement.PropertyChanged -= NewElement_PropertyChanged;
            }
            if (e.NewElement != null)
            {
                e.NewElement.PropertyChanged += NewElement_PropertyChanged;
            }
        }

        private void NewElement_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (ChildCount > 0)
            {
                GetChildAt(0).HorizontalScrollBarEnabled = false;
                GetChildAt(0).VerticalScrollBarEnabled = false;
            }
        }
    }
}

  IOS平台

[assembly:ExportRenderer(typeof(ScrollView),typeof(ScrollViewNoRender))]
namespace App1.iOS.Render
{
    public class ScrollViewNoRender : ScrollViewRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                e.NewElement.PropertyChanged -= NewElement_PropertyChanged;
            }
            if (e.NewElement != null)
            {
                e.NewElement.PropertyChanged += NewElement_PropertyChanged;
            }
        }

        private void NewElement_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            this.ShowsHorizontalScrollIndicator = false;
            this.ShowsVerticalScrollIndicator = false;
        }
    }
}

  

猜你喜欢

转载自www.cnblogs.com/jiecaoge/p/10036113.html