この質問は私がやっての様々な形を試してみましたが、それらの非は私の活動ではXamarin
...xamarin androidのナビゲーションバーを非表示にするにはどうすればいいですか?
と連携かなり頻繁に尋ねているように見えるが、様々な答えを見(非Xamarin):
public override void OnWindowFocusChanged(bool hasFocus) {
base.OnWindowFocusChanged(hasFocus);
if (hasFocus) {
var uiOptions =
SystemUiFlags.HideNavigation |
SystemUiFlags.LayoutHideNavigation |
SystemUiFlags.LayoutFullscreen |
SystemUiFlags.Fullscreen |
SystemUiFlags.LayoutStable |
SystemUiFlags.ImmersiveSticky;
Window.DecorView.SystemUiVisibility = (StatusBarVisibility) uiOptions;
}
}
私はまた、このアクティビティをOnCreate()
で試しました。何も動作していないようです。
私が読んでいる: https://developer.android.com/training/system-ui/immersive.html https://cmsdk.com/android/hide-navigation-bar-android-xamarin.html http://codegur.com/28394281/in-xamarin-android-how-can-i-hide-the-navigation-bar
Activity.cs:見つけ
using Android.App;
using Android.Graphics;
using Android.OS;
using Android.Support.V4.Content;
using Android.Views;
using Android.Widget;
using Calligraphy;
using Dictionary.Fragments;
using Dictionary.Logic.Translation;
using Newtonsoft.Json;
namespace Dictionary.Activities {
[Activity(MainLauncher = true)]
public class MainActivity: Activity {
protected override void OnCreate(Bundle bundle) {
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
SetToolbar();
SetStatusBarColor();
ShowSearchFragment();
}
public override void OnWindowFocusChanged(bool hasFocus) {
base.OnWindowFocusChanged(hasFocus);
if (hasFocus) {
var uiOptions =
SystemUiFlags.HideNavigation |
SystemUiFlags.LayoutHideNavigation |
SystemUiFlags.LayoutFullscreen |
SystemUiFlags.Fullscreen |
SystemUiFlags.LayoutStable |
SystemUiFlags.ImmersiveSticky;
Window.DecorView.SystemUiVisibility = (StatusBarVisibility) uiOptions;
}
}
public override bool OnCreateOptionsMenu(IMenu menu) {
MenuInflater.Inflate(Resource.Menu.Toolbar, menu);
return base.OnCreateOptionsMenu(menu);
}
protected override void AttachBaseContext(Android.Content.Context @base) {
base.AttachBaseContext(CalligraphyContextWrapper.Wrap(@base));
}
private void SetStatusBarColor() {
Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
Window.SetStatusBarColor(new Color(ContextCompat.GetColor(this, Resource.Color.PrimaryColorDark)));
}
private void SetToolbar() {
var toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
SetActionBar(toolbar);
ActionBar.Title = GetString(Resource.String.AppName);
}
private void ShowSearchFragment() {
var searchFragment = new SearchFragment();
searchFragment.TranslationSelected += OnTranslationSelected;
var fragTrans = FragmentManager.BeginTransaction();
fragTrans.Add(Resource.Id.fragHolder, searchFragment);
fragTrans.Commit();
}
}
}
問題:
私の検索断片でこの編集ボックスは、キーボードを表示するように引き起こしているが、フルスクリーンモードを解除すると、キーボードが消えても全画面が戻らなくなります。
<EditText android:id="@+id/txtSearch"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#FFF"
android:gravity="center"
android:hint="@string/SearchHint"
android:imeOptions="flagNoExtractUi|actionDone"
android:inputType="textNoSuggestions"
android:singleLine="true"
android:textColorHint="#ABABAB"
android:textSize="18sp"
fontPath="Fonts/amiri-regular.ttf"
android:textCursorDrawable="@drawable/cursor"/>
あなたの問題を再現できないというのは非常に奇妙で、あなたのコードは私の側でうまくいきます。あなたはxamarinのバージョンを提供してもらえますか?どのデバイスでコードをテストしましたか?私はAndroidのエミュレータでそれを実行し、それは完璧に動作します。 –
@ GraceFeng-MSFT私はMarshmallowを実行しているLG G3でテストしています。また、エミュレータでMarshmallowを実行していても同じ結果が得られます。レイアウト、スタイル、アクティビティを見てみたいと思います。それを台無しにしている。おそらく、キーボードを表示したり、カスタムテーマを適用したりしてはいけません。 – sprocket12
私はAndroid 6.0エミュレータでもテストしました。ここに私の[screenshot](https://i.stack.imgur.com/Yc1Zf.png)があります。空のアンドロイドアプリでコードを試してみましたか? –