C# 浮动操作按钮:膨胀类浮动操作按钮时出错
我正在尝试使用NuGetC# 浮动操作按钮:膨胀类浮动操作按钮时出错,c#,xamarin.forms,floating-action-button,C#,Xamarin.forms,Floating Action Button,我正在尝试使用NuGetFAB.formspackage()中xamarin.forms中的浮动操作按钮。我试图使我的代码与Sample文件夹中提供的示例相似 Xamarin.DroidMainActivity.csfile protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); global::Xamarin.Forms.Forms.Init(this, bundle); FA
FAB.forms
package()中xamarin.forms中的浮动操作按钮。我试图使我的代码与Sample
文件夹中提供的示例相似
Xamarin.DroidMainActivity.cs
file
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
FAB.Droid.FloatingActionButtonRenderer.InitControl();
LoadApplication(new App());
}
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
FAB.iOS.FloatingActionButtonRenderer.InitControl();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
public App(){MainPage = new LatestNews();}
Xamarin.ios
AppDelegate.cs
文件
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
FAB.Droid.FloatingActionButtonRenderer.InitControl();
LoadApplication(new App());
}
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
FAB.iOS.FloatingActionButtonRenderer.InitControl();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
public App(){MainPage = new LatestNews();}
Xamarin.portable
App.cs
文件
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
FAB.Droid.FloatingActionButtonRenderer.InitControl();
LoadApplication(new App());
}
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
FAB.iOS.FloatingActionButtonRenderer.InitControl();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
public App(){MainPage = new LatestNews();}
LatestNews.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"
xmlns:fab="clr-namespace:FAB.Forms;assembly=FAB.Forms"
x:Class="HuraApp.Pages.LatestNews">
...
<fab:FloatingActionButton
x:Name="fabBtn"
Source="plus.png"
Size="Normal"
Clicked="Handle_FabClicked"
NormalColor="Green"
RippleColor="Red" />
...
</ContentPage>
portable packages.config文件
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FAB.Forms" version="2.1.1" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="portable45-net45+win8+wpa81" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="portable45-net45+win8+wpa81" />
<package id="sameerIOTApps.Plugin.SecureStorage" version="1.2.1" targetFramework="portable45-net45+win8+wpa81" />
<package id="Xam.Plugin.Media" version="2.3.0" targetFramework="portable45-net45+win8+wpa81" />
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="portable45-net45+win8+wpa81" />
<package id="Xamarin.Forms.Maps" version="2.3.2.127" targetFramework="portable45-net45+win8+wpa81" />
</packages>
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FAB.Forms" version="2.1.1" targetFramework="monoandroid60" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="monoandroid60" />
<package id="Xamarin.Forms.Maps" version="2.3.2.127" targetFramework="monoandroid60" />
<package id="Xamarin.GooglePlayServices.Base" version="29.0.0.1" targetFramework="monoandroid60" />
<package id="Xamarin.GooglePlayServices.Basement" version="29.0.0.1" targetFramework="monoandroid60" />
<package id="Xamarin.GooglePlayServices.Maps" version="29.0.0.1" targetFramework="monoandroid60" />
</packages>
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FAB.Forms" version="2.1.1" targetFramework="xamarinios10" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="xamarinios10" />
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="xamarinios10" />
<package id="Xamarin.Forms.Maps" version="2.3.2.127" targetFramework="xamarinios10" />
</packages>
为什么会这样?我错过了什么?我该如何解决这个问题呢?我也有类似的问题,但我使用的是Android。只需将项目父主题更改为任意主题。AppCompat~,这就解决了我的问题,也许你的问题也解决了。并将
global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
添加到MainActivity.cs
中
[Activity(Label = "YourName", , Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
FAB.Droid.FloatingActionButtonRenderer.InitControl();
LoadApplication(new App());
}
}
您可以在style.xml
<style
name="MyTheme"
parent="Base.AppTheme">
</style>
<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
假的
真的
您是否使用Activity extend MainActivity?我使用的是c#xamarin.forms而不是android。我的(活动
/页面
)正在扩展内容页面
。啊,是的,在iOs上运行没有任何问题?我还没有在iOs上运行它。我现在关注的是droid部分。请把你的全班放在MainActivity.cs上。您的代码解决了这个错误,但给了我一个NullReferenceException。我能够从这两个建议中解决错误。但是解决这个问题导致了另一个错误Java.Lang.IllegalStateException:这个活动已经有了一个由WindowDecor提供的操作栏。不要请求Window.FEATURE\u SUPPORT\u ACTION\u BAR,并在主题中将windowActionBar设置为false以使用工具栏。
(像往常一样)正因为如此,我才能够解决我的问题。我在主题样式中添加了false-true
@mww我很乐意接受你的答案,只要你修改它来解决我面临的错误。再次感谢:)