2016-10-14 3 views
3

Ich habe versucht, eine vollständig benutzerdefinierte Benachrichtigung mit Xamarin.android zu machen.
Mein Projekt zielt auf eine Mindest-API von 14 ab, so dass die aufgewendete Benachrichtigung unterstützt wird. Ich versuche, das gleiche Aussehen für alle APIs zu erreichen, also verwende ich Android.Support.V4.App.NotificationCompat.Builder.Erstellen von benutzerdefinierten Benachrichtigungen mit xamarin.android

Ich habe herausgefunden, dass Sie setCustomContentView verwenden können, um eine benutzerdefinierte Ansicht festzulegen, die das Layout der Benachrichtigung complitly ändert, was ich anstrebe. Hier

ist der Code, den ich versucht habe zu laufen:

RemoteViews widgetLayout = new RemoteViews(PackageName,Resource.Layout.SingleNotificationLayout); 

NotificationCompat.Builder builder = new NotificationCompat.Builder(this) 
       .SetCustomBigContentView(widgetLayout); 

notificationManager.Notify(notificationId, builder.Build()); 

Welche Resource.Layout.SingleNotificationLayout ist eine Layout-Datei für den notification.Im diesen Code aus MainActiviy .CODE läuft aus here modifiziert.

Der Fehler, dass ich mit Blick auf bin ist, dass SetCustomBigContentView nicht gefunden wird, und zwar:

'NotificationCompat.Builder' does not contain a definition for 'SetCustomBigContentView' and no extension method 'SetCustomBigContentView' accepting a first argument of type 'NotificationCompat.Builder' could be found (are you missing a using directive or an assembly reference?) 

Hier sind Pakete meiner installiert:

<package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.Design" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v14.Preference" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v4" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.GridLayout" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.Preference" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid70" /> 

Was bin ich? Ist die äquivalente Funktion anders benannt?

Antwort

1

Sie müssen die neuesten Pre-Release-Pakete für die Support-Bibliotheken verwenden. Speziell https://www.nuget.org/packages/Xamarin.Android.Support.v4/24.2.1-rc1, die eine neue Baugruppe enthält: Xamarin.Android.Support.Compat. Dazu gehören die Methode Sie suchen:

EX: Blick durch Xamarin.Android.Support.Compat in DotPeek

enter image description here

aber es ist nicht in der aktuellen stabilen enthalten (23.4.0.1), wie Sie sehen können, hier:

EX: Blick durch Xamarin.Android.Support.v4 in DotPeek

enter image description here

Verwandte Themen