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