Xamarin forms Schatten auf Rahmen in Android
Die Frame-Klasse in Xamarin Forms ist sehr begrenzt, und kann mir nicht erlauben, um einen Schatten hinter dem Rahmen. Ich habe ein custom-renderer für iOS, mit diesem code:
public class RatingInfoFrameRenderer : FrameRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Frame> e)
{
base.OnElementChanged(e);
Layer.BorderColor = UIColor.White.CGColor;
Layer.CornerRadius = 10;
Layer.MasksToBounds = false;
Layer.ShadowOffset = new CGSize(-2, 2);
Layer.ShadowRadius = 5;
Layer.ShadowOpacity = 0.4f;
}
}
Machen eine ähnliche, auf Android verursacht mir Probleme, da mein wissen über Android native ist eine Art beschränkt. Könnte mir jemand sagen was zu sehen, vielleicht ein paar gute code-Beispiel? Ich habe nicht nichts gefunden, das so ähnlich aussieht wie diese.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann es sehr leicht in Android-Plattform, aber zuerst müssen Sie erstellen Ihre Schatten unter
Drawable
Ordner von Android-Ressourcen. Zum Beispiel:Nennen Sie diese Datei als "shadow.xml" und platzieren Sie es unter die
Drawable
- Ordner des Android-Projekts, die sich dann in IhremRatingInfoFrameRenderer
:Ändern den Stil der Schatten, die Sie ändern können shadow.xml Datei für weitere Informationen über diese finden Sie in google ' s offizielle Dokument: LayerList.
War ich in der Lage, einen Schatten-Effekt in Xamarin Forms für eine box anzeigen, ich bin mir ziemlich sicher, es kann ähnlich verwendet für einen Rahmen. Ich bekam den Hinweis aus Android-Dokumentation
Ich habe eine neue Eigenschaft namens HasShadow
Hier ist der code für den Renderer in Android
Und das ist, wie es aussieht
UPDATE
Fand ich heraus, dass dieser Ansatz verursacht app Crashs, die für ältere Versionen von Android. Obwohl ich noch keinen Weg gefunden, die Anzeige von Schatten in Android-Versionen vor Lollipop. Dies wird verhindern, dass jede app stürzt ab