xamarin.form scrollView

Posted jiecaoge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xamarin.form scrollView相关的知识,希望对你有一定的参考价值。

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

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

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

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;
        }
    }
}

  

以上是关于xamarin.form scrollView的主要内容,如果未能解决你的问题,请参考以下文章

xamarin.form 使用WebView和APP交互

如何在Xamarin.Form中的Frame Renders中使3个圆角变圆?

Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述

如何以 xamarin form.ios 在 Icloud 上存储数据

Visual Studio 中的 xamarin 是不是在 xamarin.form 中提供拖放功能?

Xamarin.Form 蓝牙ble