Я получаю ошибку заголовка при запуске приложения Xamarin.Android
. Я начал с шаблона "Приложение для навигации".
Ошибка выдается в MainActivity.cs
в строке SetContentView(Resource.Layout.activity_main);
в методе OnCreate
:
public class MainActivity : AppCompatActivity, NavigationView.IOnNavigationItemSelectedListener
{
readonly DataAccess dataAccess = new DataAccess();
private List<ResultSummary> data;
private ResultsSummaryListAdapter adapter;
protected override async void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
SetContentView(Resource.Layout.activity_main); //Error here
Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
SetSupportActionBar(toolbar);
DrawerLayout drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
drawer.AddDrawerListener(toggle);
toggle.SyncState();
NavigationView navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
navigationView.SetNavigationItemSelectedListener(this);
}
//Other default code
}
Этот запуск происходит послеЯ попытался изменить некоторые изображения по умолчанию. В результате я отследил проблему до ImageView
в nav_header_main.xml
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/side_nav_bar"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
//If I remove this ImageView it works fine.
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
app:srcCompat="@mipmap/ic_launcher" />
<TextView
android:id="@+id/RunnerName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="Runner Name Here" />
</LinearLayout>
Если я заменил изображения в папках mipmap-
на значения по умолчанию, он снова заработает.
Из того, что я прочитал, проблема в том, что одно из изображений слишком велико. Это правильно, или это может быть что-то не так с изображениями?
Это немного сбивает с толку, потому что я создал свои изображения из Android Asset Studio , используя «Генератор иконок запуска»так что я ожидаю, что это создаст иконки соответствующего размера. Я заменил изображения с тем же именем, чтобы это не было ошибкой ссылки;если бы это было, я бы получил другое исключение.
Есть идеи, что здесь происходит?