2017-04-03 7 views
0

ソフトキーボードが表示されている間、ステータスバーとツールバーを上に表示したままにします。私は多くの方法を試みましたが、できません。 WindowSoftInputModeを試して、ウィンドウのフラグを設定/解除しましたが、すべて失敗しました。 誰も助けてくれませんか? Please click here to see gif file!キーボードのスクロールアップと非表示ツールバーとAndroidのステータスバー

+0

レイアウトとアクティビティコードを投稿してください。 'windowSoftInputMode'にはどのような値が設定されていますか? –

答えて

4

これはXamarinのバグです。 hereを参照してください。

いくつかのワークアロンがあります。あなたはMainActivityで次の操作を実行する必要があります。

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

    base.OnCreate(bundle); 

    //Remove the status bar underlay in API 21+ 
    if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) 
    { 
     Window.DecorView.SystemUiVisibility = 0; 
     var statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("_statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); 
     statusBarHeightInfo.SetValue(this, 0); 
     Window.SetStatusBarColor(new Android.Graphics.Color(18, 52, 86, 255)); 
    } 


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

    App.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize); 
} 

あなたがFormsApplicationActivity代わりのFormsAppCompatActivityを使用する場合は、次の行を削除しています

var statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("_statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); 
statusBarHeightInfo.SetValue(this, 0); 

あなたはジミー・ガリードと詳細を見ることができますhere

Xamarin.Forms.Forms.SetTitleBarVisibility(Xamarin.Forms.AndroidTitleBarVisibility.Never); 

問題を修正するには、私のために働いていた何を:あなたはMainActivityに次のコードを使用している場合ので、溶液の上だけを動作しません、アクションバー、を隠すために

しかし、上記のこの行を削除し、特定のテーマを作成してActionBarを消すことでした。

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarSize">0dp</item> 
    </style> 
</resources> 

など、MainActivityであなたのテーマを変更することを忘れないでください:

は、リソース/値の下で/のstyles.xmlは、私は新しいテーマを(あなたが既に持っている場合は、あなたを変更することができます)を作成しました:

[Activity(WindowSoftInputMode = SoftInput.AdjustPan, Label = "Test", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, NoHistory = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 

私はこれがあなたを助けることを望みます。

関連する問題