我想在android中制作可扩展树状视图,如屏幕下方所示 Expandable List View。 我已经尝试过了,但是我想要解释。 希望能得到更好的解决方案。
谢谢。
答案 0 :(得分:1)
Xamarin当前有一个PR来包含此内容(请参见here)
目前,您可以使用ExpandableView NuGet,这很简单:
<expandable:ExpandableView>
<expandable:ExpandableView.PrimaryView>
//{YOUR MAIN VIEW HERE}
</expandable:ExpandableView.PrimaryView>
<expandable:ExpandableView.SecondaryViewTemplate>
<DataTemplate>
//{YOUR DROP-DOWN MENU TEMPLATE HERE} you can use DataTemplateSelector too
</DataTemplate>
</expandable:ExpandableView.SecondaryViewTemplate>
</expandable:ExpandableView>
答案 1 :(得分:1)
您可以使用 Xamarin 社区工具包包:
xmlns:xct="http://xamarin.com/schemas/2020/toolkit"
您可以定义标题、嵌套多个扩展器、将视图定义为内容或使用数据模板、定义动画(ExpandAnimationEasing
、CollapseAnimationEasing
)...
<xct:Expander IsEnabled="{Binding IsEnabled}" ExpandAnimationEasing="{x:Static Easing.CubicIn}"
CollapseAnimationEasing="{x:Static Easing.CubicOut}">
<xct:Expander.Header>
<Label Text="Nested expander" FontSize="30" FontAttributes="Bold"/>
</xct:Expander.Header>
<xct:Expander.ContentTemplate>
<DataTemplate>
<StackLayout Spacing="0" Margin="10" Padding="1" BackgroundColor="Black">
<BoxView HeightRequest="50" Color="White" />
<BoxView HeightRequest="50" Color="Red" />
<BoxView HeightRequest="50" Color="White" />
</StackLayout>
</DataTemplate>
</xct:Expander.ContentTemplate>
</xct:Expander>
Expander 控件在 ListView 或 CollectionView 中使用时会显示不需要的行为。目前,我们建议不要在这些控件之一中使用扩展器。
Nuget:https://www.nuget.org/packages/Xamarin.CommunityToolkit
文档:https://docs.microsoft.com/en-us/xamarin/community-toolkit/views/expander
答案 2 :(得分:-1)