我正在尝试在Xamarin Forms 3.0.0.530893中创建一个弹出页面。我使用Rg.Plugins.Popup v.1.1.4.158-pre并在Android 8.0.0上测试它。但是弹出窗口显示在左上角,无论我放入水平和垂直选项中。
这是我的弹出页面
it.only('should focus container on mount', () => {
const container = React.createRef()
automatic = mount(<Automatic classes={{}} />, mountContext)
document.activeElement.should.be.equal(automatic.ref(container.current))
})
这是后端
<?xml version="1.0" encoding="utf-8" ?>
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ScanApp.Page.Popup.SignOutPopup"
xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup">
<StackLayout BackgroundColor="White" HorizontalOptions="Center" VerticalOptions="Center">
<Label Text="Log ud" TextColor="Black"></Label>
<Label Text="AutomationProperties du sikker på du ønsker at logge ud?"></Label>
<Button Text="LOG UD"></Button>
<Button Text="ANNULLER"></Button>
</StackLayout>
</pages:PopupPage>
在这里,我在MainActivity OnCreate初始化Android插件
using Rg.Plugins.Popup.Pages;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace ScanApp.Page.Popup
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class SignOutPopup : PopupPage
{
public SignOutPopup ()
{
InitializeComponent ();
}
}
我在此推送页面
Rg.Plugins.Popup.Popup.Init(this,bundle);
答案 0 :(得分:0)
我不确定这个插件究竟是如何工作的,但我已经在过去的项目中使用过它,在这里我做了什么:
我建议您像这样定义您的页面。将stacklayout嵌入“全屏”框架中,并为框架设置一些边距和paddig:
<?xml version="1.0" encoding="utf-8" ?>
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ScanApp.Page.Popup.SignOutPopup"
xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
>
<Frame HorizontalOptions="Center" VerticalOptions="Center"
BackgroundColor="White" Margin="20" Padding="20">
<StackLayout>
<Label Text="Log ud" TextColor="Black"></Label>
<Label Text="AutomationProperties du sikker på du ønsker at logge ud?"></Label>
<Button Text="LOG UD"></Button>
<Button Text="ANNULLER"></Button>
</StackLayout>
</Frame>
</pages:PopupPage>
Xamarin表单 Frame class 具有特定属性,例如“ CornerRadius ”或“ HasShadow ”,可为您的框架提供真正的“弹出式”外观......你的框架应该居中。
告诉我它是否有效......
答案 1 :(得分:0)
问题不在于插件或弹出页面。问题是我放在Android MainActivity中的这些行,让应用程序填满整个屏幕
if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
{
Window.AddFlags(WindowManagerFlags.LayoutNoLimits);
Window.AddFlags(WindowManagerFlags.LayoutInScreen);
Window.DecorView.SetFitsSystemWindows(true);
}