答案 0 :(得分:4)
您可以使用相对布局来调整位置。这是我使用旋转垂直列表视图实现的水平列表视图的XAML示例:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ExampleProject.SomePage" >
<ContentPage.Content>
<RelativeLayout>
<ListView x:Name="listView"
ItemsSource="{Binding ExampleList}"
RowHeight="120"
Rotation="270"
RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.5, Constant=-60}"
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=-0.5, Constant=60}"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=Constant, Constant=120}"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<Label Rotation="90"
TranslationX="120" />
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<StackLayout
RelativeLayout.XConstraint="{ConstraintExpression Type=Constant, Constant=0}"
RelativeLayout.YConstraint="{ConstraintExpression Type=Constant, Constant=120}"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1, Constant=-120}"
>
<!-- Some content below list view -->
</StackLayout>
</RelativeLayout>
</ContentPage.Content>
</ContentPage>
这适用于iOS和Android。
答案 1 :(得分:1)
ListView
未经旋转测量。如果你把它做成方形,一旦旋转它就不应该从屏幕上流出。