#c# #android #visual-studio #xamarin.android
#c# #Android #visual-studio #xamarin.android
Вопрос:
Я пытаюсь сделать вид навигации и DrawerLayout
Вот мой axml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
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="match_parent"
android:fitsSystemWindows="true">
<!-- your content layout -->
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:id="@ id/nav_view"
app:menu="@menu/nav_menu"/>
</android.support.v4.widget.DrawerLayout>
И вот моя деятельность:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using MvvmCross.Droid.Views;
using Android.Support.V4.Widget;
using Android.Support.Design.Widget;
using Android.Content.PM;
namespace TieiT.Droid.Views
{
[Activity(Label = "GeneralInfo", ScreenOrientation = ScreenOrientation.Portrait)]
public class GeneralInfo : MvxActivity
{
DrawerLayout drawerLayout;
NavigationView navigationView;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.GeneralInfo);
// Create your application here
var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
SetSupportActionBar(toolbar);
SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu);
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
navigationView.NavigationItemSelected = (sender, e) =>
{
e.MenuItem.SetChecked(true);
//react to click here and swap fragments or navigate
drawerLayout.CloseDrawers();
};
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Android.Resource.Id.Home:
drawerLayout.OpenDrawer(Android.Support.V4.View.GravityCompat.Start);
return true;
}
return base.OnOptionsItemSelected(item);
}
}
}
У меня есть эти ошибки:
Error CS0103 The name 'SupportActionBar' does not exist in the current context TieiT.Droid F:ConfTieiT.CoreTieiT.DroidViewsGeneralInfo.cs 31 Active
Error CS0103 The name 'SupportActionBar' does not exist in the current context TieiT.Droid F:ConfTieiT.CoreTieiT.DroidViewsGeneralInfo.cs 32 Active
Error CS0103 The name 'SetSupportActionBar' does not exist in the current context TieiT.Droid F:ConfTieiT.CoreTieiT.DroidViewsGeneralInfo.cs 30 Active
Error CS0117 'Resource.Id' does not contain a definition for 'drawer_layout' TieiT.Droid F:ConfTieiT.CoreTieiT.DroidViewsGeneralInfo.cs 34 Active
Может быть, есть глупые вопросы, но я новичок.
Как я могу исправить эти ошибки?
Спасибо за ответ и помощь.
Ответ №1:
Для доступа к компонентам библиотеки поддержки, таким как MvxAppCompatActivity
SupportActionBar
Я бы посоветовал прочитать следующий пост: http://martiancraft.com/blog/2015/06/android-support-library /