我正在尝试创建自定义ContentView。该视图包含前置和后置相机。后置摄像头需要填满整个屏幕,而前置摄像头则漂浮在左上角。
然而,使用WidthRequest和HeightRequest似乎并不支持不同的屏幕尺寸。我有问题,弄清楚如何使用全屏,而不是,也许使用百分比来计算前置摄像头和快门按钮的大小。
下面是我的代码:
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:cv="clr-namespace:Camera.MAUI;assembly=Camera.MAUI"
x:Class="App.Components.Camera">
<Grid>
<Frame CornerRadius="10"
ZIndex="1000"
WidthRequest="100"
HeightRequest="150"
VerticalOptions="Start"
HorizontalOptions="Start"
Margin="10">
<Grid
WidthRequest="100"
HeightRequest="150">
<cv:CameraView
x:Name="FrontCameraView"
CamerasLoaded="FrontCameraLoaded"/>
</Grid>
</Frame>
<Grid
ZIndex="900"
WidthRequest="500"
HeightRequest="700">
<cv:CameraView
x:Name="BackCameraView"
CamerasLoaded="BackCameraLoaded"/>
</Grid>
<Grid ZIndex="1000"
WidthRequest="100"
HeightRequest="75"
VerticalOptions="End"
HorizontalOptions="Center"
Margin="20">
<ImageButton
Source="../Resources/Images/camera_shutter_circle.svg"
Clicked="SnapImages"/>
</Grid>
</Grid>
1条答案
按热度按时间k2fxgqgv1#
我有问题,弄清楚如何使用全屏,而不是,也许使用百分比来计算前置摄像头和快门按钮的大小。
Grid
的GridLength
结构体根据GridUnitType
枚举指定行高或列宽,GridUnitType
枚举有三个成员:*星星-剩余的行高或列宽按比例分配(在XAML中是后跟 * 的数字)。
因此,可以使用
*
为视图分配剩余的行高或列宽。此外,还可以对
Grid
的Grid.RowSpan
和Grid.ColumnSpan
进行合理的属性化,以达到您想要的效果。有关详细信息,您可以查看文档:和列。