Хотите ли вы получить результат, подобный следующему GIF?
Если это так, вы можете создать собственное представление рендерера и использовать Rg.Plugins.Popup
чтобы достичь этого.
И используйте RelativeLayout
для достижения всплывающей кнопки над CameraLayout.
<ContentPage.Content>
<RelativeLayout>
<local:CameraPreview Camera="Rear" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
RelativeLayout.WidthConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Width,
Factor=1,
Constant=0}"
RelativeLayout.HeightConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Height,
Factor=1,
Constant=0}"
/>
<Button Text="pop" Clicked="Button_Clicked" BackgroundColor="Transparent"
RelativeLayout.XConstraint = "{ConstraintExpression
Type=RelativeToParent,
Property=Width,
Factor=1,
Constant=-100}"
RelativeLayout.YConstraint = "{ConstraintExpression
Type=RelativeToParent,
Property=Height,
Factor=1,
Constant=-100}"
RelativeLayout.WidthConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Width,
Factor=.2,
Constant=0}"
RelativeLayout.HeightConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Height,
Factor=.1,
Constant=0}"
/>
</RelativeLayout>
</ContentPage.Content>
Если у вас есть некоторые сомнения относительно пользовательского представления рендерера, вы можете обратиться к этой статье.
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/view
Вот моя демонстрационная ссылка, которую вы можете скачать.
https://github.com/851265601/XFormsCameraPage