繁体   English   中英

Xamarin.Forms搜索窗口小部件未显示

[英]Xamarin.Forms Search Widget is not showing

我曾尝试在Xamarin.Android的项目中使用Xamarin.Forms项目中的Search Widget,但无法正常工作。 我想要与下图所示相同的结果。 此处输入图片描述,这是我的代码:

**Main Activity :**
using System;

using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Support.V4.View;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;

using Android.Support.V4.App;
using Android.Support.V4.Widget;
using Android.Util;
using Android.Support.V4.Content;


namespace GitRemote.Droid
{
    [Activity(Label = "GitRemote", MainLauncher = true, ConfigurationChanges =     ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : FormsAppCompatActivity
    {

    protected override void OnCreate(Bundle bundle)
    {
        FormsAppCompatActivity.ToolbarResource = Resource.Layout.toolbar;
        FormsAppCompatActivity.TabLayoutResource = Resource.Layout.tabs;
        base.OnCreate(bundle);
        Forms.Init(this, bundle);
        LoadApplication(new App());

    }

    public override bool OnCreateOptionsMenu(IMenu menu)
    {
        Android.Widget.SearchView searchView;
        MenuInflater.Inflate(Resource.Menu.menu_home, menu);

        var searchItem = menu.FindItem(Resource.Id.action_search);
        var provider = MenuItemCompat.GetActionView(searchItem);
        searchView = provider.JavaCast<Android.Widget.SearchView>();
       // searchView.SetIconifiedByDefault(false);
        searchView.QueryTextSubmit += (sender, args) =>
        {
            Toast.MakeText(this, "You searched: " + args.Query, ToastLength.Short).Show();
        };
        //searchView.QueryTextSubmit += (sender, args) =>
        //{

        //    var view = sender as Android.Support.V7.Widget.SearchView;
        //    if ( view != null )
        //        view.ClearFocus();
        //};
        //return base.OnCreateOptionsMenu(menu);
        return true;
    }
}
}

**menu_home:**
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

  <item android:id="@+id/action_search"
        android:title="@string/search"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="always|withText"
        app:actionViewClass="android.widget.SearchView"/>

</menu>

Xamarin.Forms搜索组件存在相同的问题。

Xamrin.Forms具有一个名为:SearchBar的控件。 确实,在模拟器上显示了...,但是当您在Android设备(例如Samsung S8)上安装应用程序时,SearchBar将不可见。

我可以建议一个解决方法:手动设置搜索栏的高度。 SearchBar的默认值为42。

HeightRequest="42"

此问题已在此处解决https://bugzilla.xamarin.com/show_bug.cgi?id=43975

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM