Xamarin.Forms:在Android 7.0及更高版本上不会调用OnCreateOptionsMenu方法

问题描述 投票:0回答:1

我想在Android的xamarin.forms项目中的导航栏上显示搜索视图。但搜索工具栏项(搜索图标)在Android 7.0及更高版本上不可见,在android 6.0上运行正常。

我已经按照this链接为内容页面编写自定义渲染器。它在android 6.0上运行正常。

在进一步搜索时,我得到this链接,如果我创建xamarin.android项目工作正常,但同样不适用于xamarin.forms。

这是我的MainActivity代码:

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    public static Android.Support.V7.Widget.Toolbar ToolBar { get; private set; }

    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);

        LoadApplication(new App());
    }

    public override bool OnCreateOptionsMenu(IMenu menu)
    {
        ToolBar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
        return base.OnCreateOptionsMenu(menu);
    }
}
xamarin xamarin.forms searchview android-7.0-nougat
1个回答
1
投票

不知道为什么这个自定义方法在以后的版本中不再工作。但是在Xamarin表单中,有一种简单的方法可以在NavigationBar中显示SearchBar。也许你可以尝试一下。

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Samples.Views.MainPage" Title="Samples">
    <NavigationPage.TitleView>
        <SearchBar Text="input here"></SearchBar>
    </NavigationPage.TitleView>

    <StackLayout>
        <Button Text="SearchPage Sample" VerticalOptions="Center" Clicked="SearchPageSample_Clicked"/>
    </StackLayout>
</ContentPage>

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.