[英]How to set background color of selected tab in xamarin.forms for android?
[英]Xamarin.Forms - How To Achieve 45 deg. Angled Background Color
Xamarin.Forms
涉及解決方案: 在下面的示例中,屏幕上Labels
后面的半透明框的實心藍色部分是NControl
,您還可以執行漸變,簡單動畫等...但在這種情況下,只是在內部繪制一個實心多邊形一個半透明的矩形:
通過NGraphics
使用NControl
您可以在不使用自定義渲染器的Xamarin.Forms
中繪制自定義控件方面做很多事情。 它不是每個用例的解決方案,但它干凈且可以跨平台工作(iOS / Android / WinPhone)。
var overlay = new NControlView()
{
BackgroundColor = Xamarin.Forms.Color.Black.MultiplyAlpha(.3f),
DrawingFunction = (canvas, rect) =>
{
canvas.FillPath(new PathOp[] {
new MoveTo (NGraphics.Point.Zero),
new LineTo ((rect.Width / 3), 0),
new LineTo ((rect.Width / 3) * 2, rect.Height),
new LineTo (0, rect.Height),
new ClosePath ()
}, Colors.Blue);
}
};
使用較重的alpha設置呈現Red
,以便您可以更好地查看控件:
此控件嵌入在使用動態邊界的AbsoluteLayout
,因此即使方向更改也可以干凈地處理:
AbsoluteLayout.SetLayoutFlags(overlay, AbsoluteLayoutFlags.All);
AbsoluteLayout.SetLayoutBounds(overlay, new Xamarin.Forms.Rectangle(0, 1, 1, 0.3));
無法在Xamarin Forms中定義漸變。 你最好的選擇是使用圖像。 但是,您也可以嘗試編寫使用底層平台API繪制漸變背景的自定義渲染器。
這是一個討論使用自定義渲染器方法的線程 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.