Мы разрабатываем приложение Xamarin Android, используя ReactiveUI. Ниже приведены технические характеристики.
Конфигурации выпуска My Project Properties приведены ниже.
Я протестировал всю разработку с использованием Huawei API 19 (НАБОР ИНСТРУКЦИЙ - armeabi-v8a). Все прошло нормально с конфигурациями отладки и выпуска. В качестве темы приложения я использовал настраиваемую тему из Theme.appCompat. И у меня есть styles.xml в папках values и values-v21. У обоих одно и то же имя. Я использовал ProcessDialog в Splashing screen, который определен как устаревший. В чем проблема? Я новичок в Xamarin Android. Заранее спасибо.
Обновлять: Вот как выглядит мой MainActivity.cs.
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Graphics.Drawables;
using Android.OS;
using Android.Support.Design.Widget;
using Android.Support.V4.View;
using Android.Support.V4.Widget;
using Android.Support.V7.App;
using Android.Util;
using Android.Views;
using Android.Widget;
using DistributrIII.Mobile.Droid.Activities.Errors;
using DistributrIII.Mobile.Droid.Activities.Login;
using DistributrIII.Mobile.Droid.Activities.PointOfSale;
using DistributrIII.Mobile.Droid.Fragments.CloseOfTheDay;
using DistributrIII.Mobile.Droid.Fragments.Common;
using DistributrIII.Mobile.Droid.Fragments.Lossess;
using DistributrIII.Mobile.Droid.Fragments.Orders;
using DistributrIII.Mobile.Droid.Fragments.Outlets;
using DistributrIII.Mobile.Droid.Fragments.PointOfSale;
using DistributrIII.Mobile.Droid.Fragments.Reports;
using DistributrIII.Mobile.Droid.Fragments.SaleOrder;
using DistributrIII.Mobile.Droid.Fragments.PurchaseOrder;
using DistributrIII.Mobile.Droid.Fragments.Settings;
using DistributrIII.Mobile.Droid.Util;
using DistributrIII.Mobile.Lib.Model.Common;
using DistributrIII.Mobile.Lib.Model.Login;
using DistributrIII.Mobile.Lib.Model.Sync;
using DistributrIII.Mobile.Lib.VM.MainActivity;
using DistributrIII.Mobile.Lib.VM.Util;
using Java.Interop;
using Java.IO;
using ReactiveUI;
using System;
using System.Reactive.Concurrency;
using System.Reactive.Linq;
using System.Threading;
using System.Threading.Tasks;
using static Android.Support.V7.App.ActionBar;
using static Android.Support.V7.Widget.SearchView;
using Environment = Android.OS.Environment;
using SearchView = Android.Support.V7.Widget.SearchView;
using DistributrIII.Mobile.Droid.Fragments.OpenTransactions;
namespace DistributrIII.Mobile.Droid
{
[Activity(Label = "DistributrIII", MainLauncher = false, Theme = "@style/MainTheme")]
public class MainActivity : DistributrBaseActivity<MainActivityVM>
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
SetupUI(savedInstanceState);
}
#region UI Components
DrawerLayout drawerLayout;
NavigationView navigationView;
IMenuItem previousItem;
Android.Support.V7.Widget.Toolbar toolbar;
DisplayScreen PreviousMenuItemId = DisplayScreen.None;
SearchView searchControl;
ProgressDialog progress;
#endregion
#region UI Helper Methods
public override bool OnCreateOptionsMenu(IMenu menu)
{
return base.OnPrepareOptionsMenu(menu);
}
private void SetupUI(Bundle savedInstanceState) {
toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
toolbar.InflateMenu(Resource.Menu.main_menu);
searchControl = (SearchView)toolbar.Menu.FindItem(Resource.Id.distributr_search).ActionView ;
var textChangedObservable =
Observable
.FromEventPattern<QueryTextChangeEventArgs>(
x => searchControl.QueryTextChange += x,
x => searchControl.QueryTextChange -= x)
.Select(x => x.EventArgs.NewText)
.Throttle(TimeSpan.FromSeconds(1), TaskPoolScheduler.Default);
var querySubmitObservable =
Observable
.FromEventPattern<QueryTextSubmitEventArgs>(
x => searchControl.QueryTextSubmit += x,
x => searchControl.QueryTextSubmit -= x)
.Select(x => x.EventArgs.Query);
SubscriptionDisposables.Add(
Observable
.Merge(textChangedObservable, querySubmitObservable)
.Subscribe(async searchText => this.HandleSearch(searchText))
);
SetupNavigation(savedInstanceState);
BottomNavigationView navigationView = (BottomNavigationView)FindViewById(Resource.Id.bottom_navigation);
if (DIIIStaticStorage.LoginAccountType == LoginAccountType.Customer)
{
navigationView.InflateMenu(Resource.Menu.nav_bottom_customr);
}
else
{
navigationView.InflateMenu(Resource.Menu.nav_bottom);
}
navigationView.NavigationItemSelected += BottomNavigation_NavigationItemSelected;
Android.Support.Design.Internal.BottomNavigationMenuView menuView = (Android.Support.Design.Internal.BottomNavigationMenuView)navigationView.GetChildAt(0);
for (int i = 0; i < menuView.ChildCount; i++)
{
Android.Support.Design.Internal.BottomNavigationItemView itemView = (Android.Support.Design.Internal.BottomNavigationItemView)menuView.GetChildAt(i);
itemView.SetShiftingMode(false);
itemView.SetChecked(false);
}
//InvalidateOptionsMenu();
toolbar.Title = "Distributr";
}
}
Я наблюдал, что это застряло в режиме отладки также на некоторых устройствах. бревно может кто-нибудь показать мне, в чем ошибка. Еще раз спасибо
Я обновил вопрос с помощью фрагмента кода MainActivity.cs
Привет, мой друг, возможно, вам стоит протестировать свое приложение с помощью более старой версии VS, VS 15.7 имеет некоторые проблемы с xamarin.





Вы можете показать код?