ScrollView中ScrollBar的颜色

时间:2017-02-26 13:53:34

标签: xamarin scroll xamarin.forms scrollview background-color

我使用Xamarin.FormsScrollView,我可以更改ScrollView.Background,但滚动条的背景颜色不会改变。我怎么能这样做? 我可以为所有平台制作通用共享风格滚动条吗? 如果你不能,我可以这样做,以便我可以在共享项目ScrollView中使用Xamarin.forms,但同时显示在 在不同的平台上有自己的风格? 也许它可以在没有自己的风格的情况下完成,并且更容易?我只需ScrollView Xamarin.Forms中的自定义滚动条颜色。 我用Google搜索但没有找到滚动条Xamarin.forms的使用颜色的示例。 如果不是很容易,我想使用示例代码。

1 个答案:

答案 0 :(得分:2)

Xamarin.Forms ScrollView控件转换为每个平台上的本机滚动控件。您需要做的是创建一个自定义Effect,使您可以访问这些基础控件。从那里,您可以自定义滚动条的外观。

在Android上,您需要使用android.widget.ScrollView。您应该为资源文件夹中的滚动条定义自定义drawable,并以编程方式将滚动条更改为效果中的滚动条。 StackOverflow上有很多答案可以告诉您如何操作,例如herehere

在iOS上,来自UIKit的本机控件是UIScrollView,滚动条是预定义的图像,所以每次控件更新时你可能需要替换图像。看看here是一个很好的起点。

最后,您在XAML中会有类似的内容:

<ScrollView>
    <ScrollView.Effects>
        <local:ScrollBarColorEffect ScrollBarColor="Green" />
    </ScrollView.Effects>
 ...