Я работаю над очень старым проектом Xamarin (XF 2.4), и теперь я обновил его до последней версии xamarin и обновил остальное до последней версии инструмента. Все решено, кроме одного: Моя панель инструментов (панель навигации) не видна, но приложение работает нормально.
Это мой исходный код (до обновления) в MainActivity android проекта
[Activity(Label = "Town Manager", Icon = "@drawable/andoid_appIcon",
Theme = "@android:style/Theme.Holo.Light",
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
ScreenOrientation = ScreenOrientation.Portrait)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity {
После обновления XF панель навигации (панель инструментов) была скрыта в пользовательском интерфейсе на всех страницах. Затем я прочитал inte rnet и слежу за статьей о добавлении AppCompat и Material Design в старый проект. Он использует FormsAppCompatActivity вместо FormsApplicationActivity. вот статья: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/android/appcompat-material-design
Я добавил панель инструментов. xml, стиль. xml и все остальное, как требуется в новом формате проекта XF. теперь код mainactivity выглядит так:
[Activity(Label = "Town Manager", Icon = "@drawable/andoid_appIcon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
FormsAppCompatActivity.ToolbarResource = Resource.Layout.Toolbar;
FormsAppCompatActivity.TabLayoutResource = Resource.Layout.Tabbar;
Но приложение получает ошибку sh при вызове DisplayAlert () или средств выбора. Ошибка: Java .Lang.IllegalStateException: «Невозможно создать панель инструментов декора из NULL-объекта»
Я пытался решить эту проблему, весь день, но приложение всегда получало cra sh, когда оно вызывается в любом месте DisplayAlert. Есть идеи, опыт относительно этого?