如何解决Xamarin 全屏网格
我有一张由网格制成的桌子。我是在横向模式下制作的。但我想全屏看。数据总是在变化,所以我总是希望它适合我的屏幕。我怎样才能做到这一点?我尝试使用 grid VerticalOptions
和 HorizontalOptions
FillAndExpand
但没有奏效。我还能做什么?
<Grid x:Name="gr2">
<Grid.RowDeFinitions>
<RowDeFinition Height="1.5"/>
<RowDeFinition Height="1.2*"/>
<RowDeFinition Height="1.5"/>
</Grid.RowDeFinitions>
<Grid.ColumnDeFinitions>
<ColumnDeFinition Width="1.5"/>
<ColumnDeFinition Width="*"/>
<ColumnDeFinition Width="1.5"/>
<ColumnDeFinition Width="0.5*"/>
<ColumnDeFinition Width="1.5"/>
<ColumnDeFinition Width="Auto"/>
<ColumnDeFinition Width="1.5"/>
<ColumnDeFinition Width="Auto"/>
<ColumnDeFinition Width="1.5"/>
</Grid.ColumnDeFinitions>
<Grid x:Name="gr2">
<Grid.RowDeFinitions>
<RowDeFinition Height="1.5"/>
<RowDeFinition Height="1.5*"/>
<RowDeFinition Height="1.5"/>
</Grid.RowDeFinitions>
<Grid.ColumnDeFinitions>
<ColumnDeFinition Width="1.5"/>
<ColumnDeFinition Width="*"/>
<ColumnDeFinition Width="1.5"/>
<ColumnDeFinition Width="0.7*"/>
<ColumnDeFinition Width="1.5"/>
<ColumnDeFinition Width="0.7*"/>
<ColumnDeFinition Width="1.5"/>
</Grid.ColumnDeFinitions>
我的定义必须是这样。 (我为宽度为 1.5 的表格行添加框视图)
解决方法
第一个问题。通过玩网格。您必须知道星号 *
表示屏幕的其余部分。如果您有 4 个星号,则意味着屏幕的其余部分将分成相同大小的 4 个区域(可以是行或列)。
因此从逻辑上讲,它可以通过在 RowDefinition
和 ColumnDefinition
中至少放置一个星号来进行筛选。
为了更好的设计,我建议使用 RowSpan
属性。在某些情况下它会帮助你。仅供参考,网格支持分层系统。所以你可以在其他组件后面有组件。为了实现这一点,您必须使用 RowSpan
以便可以看到分层组件。
请查看此代码 <RowDefinition Height="1.5*"/>
。我不知道你为什么在 1.5
后面加上星号。
对于第二个问题。我通过根据所需的网格行和列分配滚动视图来完成这项工作。 示例
<ScrollView Grid.Row="1" Grid.Column="1" Grid.RowSpan="3" Grid.ColumnSpan="4">
<!-- this area is scrollable -->
</ScrollView>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。