2016-08-16 2 views
3

Ich möchte eine App mit Material Design mit Xamarin und Visual Studio erstellen. Ich möchte dies mithilfe der v7 AppCompat-Bibliothek erreichen, sodass meine App auf älteren Geräten gut läuft.Xamarin - Fehler beim Abrufen des übergeordneten Elements für den Artikel: Keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt 'Theme.AppCompat.Light.DarkActionBar'

folgte ich dieses Tutorial:

https://blog.xamarin.com/android-tips-hello-material-design-v7-appcompat/

und tat genau das gleiche. Wenn ich zur Datei Main.axml gehe (im Ordner Resources/layout), gibt es ein Dropdown-Menü, in dem Sie ein Thema auswählen können (Bild unten). Wenn ich das Dropdown-Menü öffne, wird mein Thema jedoch nicht angezeigt. Also dachte ich, es wäre eine gute Idee, mein Projekt zu säubern und neu aufzubauen. Aber wenn ich das Projekt gereinigt, bekam ich diese Fehlermeldung:

Error retrieving parent for item: No resource found that matches the given 
name 'Theme.AppCompat.Light.DarkActionBar'. 

No resource found that matches the given name: attr 'colorAccent'. 
No resource found that matches the given name: attr 'colorPrimary'. 
No resource found that matches the given name: attr 'colorPrimaryDark'. 
No resource found that matches the given name: attr 'windowActionBar'. 
No resource found that matches the given name: attr 'windowNoTitle'. 

Wie kann ich das Problem beheben und mein Thema im Dropdown-Menü erscheinen lassen?

EDIT:

Hier ist der Code:

Main.axml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<Button 
    android:id="@+id/MyButton" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/Hello" /> 
</LinearLayout> 

values/styles.xml

<resources> 
    <style name="MyTheme" parent="MyTheme.Base"> 
    </style> 
    <style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="colorPrimary">#2196F3</item> 
    <item name="colorPrimaryDark">#1976D2</item> 
    <item name="colorAccent">#FF4081</item> 
    </style> 
</resources> 

values-v21

MainActivity.cs

using System; 
using Android.App; 
using Android.Content; 
using Android.Runtime; 
using Android.Views; 
using Android.Widget; 
using Android.OS; 

namespace MaterialDesign 
{ 
    [Activity(Label = "MaterialDesign", MainLauncher = true, Icon = "@drawable/icon")] 
    public class MainActivity : Activity 
    { 
     int count = 1; 

     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 
      SetContentView(Resource.Layout.Main); 

      Button button = FindViewById<Button>(Resource.Id.MyButton); 
      button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); }; 
     } 
    } 
} 

HINWEIS:

Auch wenn ich bin mit dem android.support.v7.widget.Toolbar Elemente, bekam ich folgende Fehlermeldung: android.support.v7.widget.Toolbar element is not declared.

EDIT (2):

versuchte ich es mit dem Komponentenmanager Herunterladen mit einem NuGet Befehl (Package Manager-Konsole) und manuell die DLL herunterladen und auf sie verweisen, aber es immer noch nicht funktioniert. Ich habe auch den \AppData\Local\Xamarin\Android.Support.v7.AppCompat\23.0.1.3 Ordner entfernt und den Cache entfernt, aber ohne Erfolg.

Und am Main.axml Datei im Designer Registerkarte, erscheint eine Warnung:

This project contains resources that were not compiled successfully, 
rendering might be affected 

ich, dass das Problem Visual Studio Designer fand heraus, ist mit, wie es richtig auf meinem Handy läuft. Also fragte ich eine neue Frage: Xamarin.Android, Visual Studio - Designer doesn't work with v7 AppCompat library

Hier können Sie mein Projekt herunterladen:

https://drive.google.com/file/d/0BxiDy9-wQHvzNFRhaTMzelg1WlU/view?usp=sharing

(Sorry für schlechtes Englisch, fühlen Sie sich frei, mich zu korrigieren)

+0

Für ein besseres Verständnis des Problems fügen Sie den Code ein. –

+1

Wo bewerben Sie das Thema? In deiner 'AndroidManifest.xml'? Versuchen Sie, die Ordner "bin/obj", Clean your Project und Rebuild zu nuken. Bitte stellen Sie auch sicher, dass Ihr 'v7 AppCompat' NuGet-Paket entsprechend referenziert wird. –

+0

@JonDouglas Ich bewerbe das Thema in der 'AndroidManifest.xml'. Ich habe die Ordner 'bin' und' obj' mit einem Atomkern versehen. Ich habe mein Objekt gereinigt und neu aufgebaut. Ich habe die gleichen Fehler wie zuvor: 'Fehler beim Abrufen des übergeordneten Elements für das Element: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen 'Theme.AppCompat.Light.DarkActionBar' übereinstimmt. (Weitere Details finden Sie oben in der Frage). Wenn ich die Wiederherstellung anwende, habe ich folgende Fehlermeldung erhalten: '1> java.lang.UnsupportedClassVersionError: com/android/dx/command/Main: Nicht unterstützte major.minor Version 52.0' (mehr Details im Abschnitt edit (2) meiner Frage) . Also leider hat es nicht funktioniert :( – qwertytrewq

Antwort

0

Es hatte nichts mit dem zu tun der Code. Es ist nur so, dass Visual Studio zum Zeitpunkt des Schreibens keine benutzerdefinierten Ansichten unterstützt.

Verwenden Sie einfach Xamarin Studio oder dieses Plugin https://visualstudiogallery.msdn.microsoft.com/9f5a516a-f4d0-4228-9d25-d0273abebf33 So können Sie Ihre Anwendungen in Android Studio bearbeiten.

Weitere detaillierte Antworten finden Sie unter Xamarin.Android, Visual Studio - Designer doesn't work with v7 AppCompat library.

Verwandte Themen

 Verwandte Themen