FormsAppCompatActivity和自定义ActionBar / ToolBar

时间:2016-06-24 01:28:43

标签: c# android xamarin android-actionbar

我正在使用 Xamarin.Forms 应用,我使用 FormsApplicationActivity 作为我的主要活动,并且能够自定义 ActionBar 其中包含自定义视图(我在其中放置了 Spinner ,某些页面)

但由于存在一些UI /外观问题,我升级为 FormsAppCompatActivity 。 既然我这样做了,我只能在工具栏/操作栏中获取我的微调器!无论我尝试什么!

这基本上是以前的代码,使用 FormsApplicationActivity

        var activity = (Activity)this.Context;
        var bar = activityActionBar;
        var dlp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent);
        bar.CustomView = new Android.Widget.Button(activity) {
            Text = "Click",
            LayoutParameters = dlp,
        };
        bar.DisplayOptions = ActionBarDisplayOptions.ShowCustom;

我应该写什么来支持 FormsAppCompatActivity

1 个答案:

答案 0 :(得分:1)

使用FormsAppCompatActivity时,android上的NavigationRenderer会在内部创建一个新工具栏。到目前为止,我是一个私人领域,我可以看到,无法访问。

这是代码:https://github.com/xamarin/Xamarin.Forms/blob/d1a8477233b28e6a20c6f5d4a75128ec2a05e6dc/Xamarin.Forms.Platform.Android/AppCompat/NavigationPageRenderer.cs

有关特定代码部分的信息,请参阅图像。我现在也在尝试访问视图。所以只需注意您尝试编辑的操作栏是错误的。那个是在活动启动时创建的。

enter image description here

更新:可能会在这里找到解决方案:https://forums.xamarin.com/discussion/69923/access-to-the-formsappcompatactivity-bar