2016-05-05 23 views
0

私はXamarin.Androidでそれをやっている人として私のXamarin.Formsプロジェクトで検索ウィジェットを使用しようとしましたが、動作していません。私はあなたが下のイメージで見るのと同じ結果を望んでいます。ここenter image description here は私のコードです:Xamarin.Forms検索ウィジェットが表示されない

**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> 
+0

あなたが投稿UIのコードは、Androidのためではないフォームで対処されました。 – Jason

+0

"Android.Widget.SearchView"の前は "Android.Support.V7.Widget.SearchView"でした。私はFormsAppCompatActivityから継承していれば、検索ウィジェットを実装することができます。私はツールバーを作成してハンバーガーメニューを作成し、それを美しく作成するためのタブを作りました。だから私は私がツールバーやタブでやったらこれをやることができると思った。 –

答えて

0

私はXamarin.Forms検索コンポーネントと同じ問題を抱えていました。

Xamrin.Formsには、SearchBarというコントロールがあります。確かにエミュレータ上に表示されますが、アンドロイドデバイス(例えばSamsung S8)にアプリケーションをインストールすると、SearchBarが表示されません。

回避策を提案できます。 検索バーの高さを手動で設定します。 42はSearchBarのデフォルトです。

HeightRequest="42" 

問題はここ https://bugzilla.xamarin.com/show_bug.cgi?id=43975

関連する問題