【问题标题】:Xamarin Horizontal Collection View with peakareinsetXamarin 水平集合视图与 peakareinset
【发布时间】:2020-11-19 07:35:04
【问题描述】:

我正在使用集合视图来显示水平列表中的项目,但是已经注意到,如果列表中的最后一项不可见,则可能不清楚还有另一个项目。

与 carousel 不同,collection view 没有 peakareainset,您可以在其中看到项目的一部分,以便用户知道他们需要滚动。

如何实现在水平集合视图中总是看到最后一个项目的外观?

我有什么

我想要什么

如果我把 Horizo​​ntalScrollBarVisibility="Always" 无法按预期工作,因为在您开始移动项目之前我看不到水平滚动。嗯

   <CollectionView  HorizontalScrollBarVisibility="Always" 
                    ItemsSource="{Binding Monkeys}"
                    ItemsLayout="HorizontalList" 
                    ItemSizingStrategy="MeasureFirstItem" 
                    HorizontalOptions="StartAndExpand">
        <CollectionView.ItemTemplate>
            <DataTemplate>
                <Grid Padding="10">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="35" />
                        <RowDefinition Height="35" />
                    </Grid.RowDefinitions>
                    <Image Grid.RowSpan="2" 
                           Source="{Binding ImageUrl}" 
                           Aspect="AspectFill"
                           HeightRequest="60" 
                           WidthRequest="60" />
                </Grid>
            </DataTemplate>
        </CollectionView.ItemTemplate>
    </CollectionView>

谢谢

【问题讨论】:

    标签: xamarin.forms


    【解决方案1】:

    在 Android 中,您可以创建 CollectionView 的自定义渲染器以使 HorizontalScrollBar 始终可见:

    [assembly: ExportRenderer(typeof(Xamarin.Forms.CollectionView), typeof(MyCollectionViewRenderer))]    
    namespace App332.Droid
    {
        class MyCollectionViewRenderer : CollectionViewRenderer
        {
            public MyCollectionViewRenderer(Context context) : base(context)
            {
            }
    
            protected override void OnElementChanged(ElementChangedEventArgs<ItemsView> elementChangedEvent)
            {
                base.OnElementChanged(elementChangedEvent);
    
                this.ScrollbarFadingEnabled = false;
            }
        }
    }
    

    【讨论】:

    猜你喜欢
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多