如何在xamarin表单中隐藏listview中的滚动条

时间:2017-10-03 08:07:03

标签: xamarin xamarin.forms

我想在我的xamarin andorid和xamarin ios应用程序中隐藏listview滚动条。我搜索了许多帖子,但只有少数帖子有帮助,不清楚。请在listview中建议隐藏滚动条的任何想法。

3 个答案:

答案 0 :(得分:4)

这是我做的:

Android自定义渲染器:

[assembly: ExportRenderer(typeof(CustomListView),typeof(CustomListViewRenderer))]
namespace ImageList.Droid
{
    public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);

            if(Control != null)
            {
                Control.VerticalScrollBarEnabled = false;
            }
        }
    }
}

iOS自定义渲染器:

[assembly: ExportRenderer(typeof(CustomListView), typeof(CustomListViewRenderer))]
namespace ImageList.iOS
{
    public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.ShowsVerticalScrollIndicator = false;
            }
        }
    }
}

请记住: 我们需要在PCL表单中使用自定义ListView而不是本机ListView

答案 1 :(得分:1)

更新:现在,从Xamarin.Forms 3.5.0版开始,我们可以使用VerticalScrollBarVisibility,Horizo​​ntalScrollBarVisibility属性来处理ListView ScrollBarVisibility。

您还可以从http://bsubramanyamraju.blogspot.com/2019/03/hide-listview-scrollbar-in-xamarinforms.html

中找到完整的源代码和文档。

答案 2 :(得分:0)

此处为解决方案自定义呈现,请查看官方文档 https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/listview/

机器人:

 <?xml version="1.0" encoding="UTF-8"?>
 <Configuration status="info" packages="com.citi.area51">
<Appenders>
    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{dd/MM/yyyy HH:mm:ss.SSSSSS} [%t] %-5level 
%logger{36} - %msg%n"/>
    </Console>
</Appenders>
<Loggers>
    <Root level="info">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="File"/>
    </Root>
</Loggers>
</Configuration>

的iOS:

ListView.VericalScrollbarEnabled = false;