本文整理汇总了C#中Android.Restore方法的典型用法代码示例。如果您正苦于以下问题:C# Android.Restore方法的具体用法?C# Android.Restore怎么用?C# Android.Restore使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Android
的用法示例。
在下文中一共展示了Android.Restore方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnDraw
protected override void OnDraw(Android.Graphics.Canvas canvas)
{
base.OnDraw (canvas);
TextPaint textPaint = Paint;
textPaint.Color = new Android.Graphics.Color(CurrentTextColor);
textPaint.DrawableState = GetDrawableState ();
canvas.Save();
if ( TopDown )
{
canvas.Translate( Width, 0 );
canvas.Rotate( 90 );
}
else
{
canvas.Translate( 0, Height );
canvas.Rotate( -90 );
}
canvas.Translate (CompoundPaddingLeft, ExtendedPaddingTop);
Layout.Draw (canvas);
// getLayout().draw( canvas );
canvas.Restore ();
// canvas.restore();
}
示例2: DispatchDraw
protected override void DispatchDraw (Android.Graphics.Canvas canvas)
{
// Draw interior shadow
canvas.Save ();
canvas.ClipRect (0, 0, Width, Height);
canvas.DrawPaint (shadow);
canvas.Restore ();
base.DispatchDraw (canvas);
// Draw custom list separator
canvas.Save ();
canvas.ClipRect (0, Height - 2, Width, Height);
canvas.DrawColor (Android.Graphics.Color.Rgb (LightTone, LightTone, LightTone));
canvas.Restore ();
}
示例3: Draw
public override void Draw(Android.Graphics.Canvas canvas)
{
try
{
int width = this.Width - this.PaddingLeft - this.PaddingRight;
int height = this.Height - this.PaddingBottom - this.PaddingTop;
var radius = Math.Min(width, height) / 2;
//var strokeWidth = ((float)(5 * Math.Min(width, height))) / 100;
//radius -= (int)Math.Round(strokeWidth / 2);
// A revoir: Est-ce que c'est bien centré avec les padding?
Path path = new Path();
path.AddCircle(this.PaddingLeft + (width / 2), this.PaddingTop + (height / 2), radius, Path.Direction.Ccw);
canvas.Save();
canvas.ClipPath(path);
base.Draw(canvas);
canvas.Restore();
//path = new Path();
//path.AddCircle(this.PaddingLeft + (width / 2), this.PaddingTop + (height / 2), radius, Path.Direction.Ccw);
//var paint = new Paint();
//paint.AntiAlias = true;
//paint.StrokeWidth = strokeWidth;
//paint.SetStyle(Paint.Style.Stroke);
//paint.Color = Color.Black;
//canvas.DrawPath(path, paint);
//paint.Dispose();
path.Dispose();
return;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("Unable to create circle image: " + ex);
}
base.Draw(canvas);
}
示例4: OnDraw
protected override void OnDraw(Android.Graphics.Canvas canvas)
{
var textPaint = this.Paint;
textPaint.Color = new Color(this.CurrentTextColor);
canvas.Save();
if (m_TopDown)
{
canvas.Translate(this.Width, 0);
canvas.Rotate(90.0f);
}
else
{
canvas.Translate(0, this.Height);
canvas.Rotate(-90.0f);
}
canvas.Translate(this.CompoundPaddingLeft, this.ExtendedPaddingTop);
this.Layout.Draw(canvas);
canvas.Restore();
}
示例5: DrawChild
protected override bool DrawChild(Android.Graphics.Canvas canvas, Android.Views.View child, long drawingTime)
{
try
{
var element = (RoundedImage)Element;
var radius = Math.Min(Width, Height) / 2;
var strokeWidth = 10;
radius -= strokeWidth / 2;
//Create path to clip
var path = new Path();
path.AddCircle(Width / 2, Height / 2, radius, Path.Direction.Ccw);
canvas.Save();
canvas.ClipPath(path);
var result = base.DrawChild(canvas, child, drawingTime);
canvas.Restore();
// Create path for circle border
path = new Path();
path.AddCircle(Width / 2, Height / 2, radius, Path.Direction.Ccw);
var paint = new Paint();
paint.AntiAlias = true;
//TODO look for a correct way to assign the BorderWidth depending of the screen dpi
paint.StrokeWidth = (float)element.BorderWidth;
paint.SetStyle(Paint.Style.Stroke);
paint.Color = element.BorderColor.ToAndroid();
canvas.DrawPath(path, paint);
//Properly dispose
paint.Dispose();
path.Dispose();
return result;
}
catch (Exception ex)
{
//Why this happend
Console.WriteLine(ex.Message);
}
return base.DrawChild(canvas, child, drawingTime);
}
示例6: DispatchDraw
protected override void DispatchDraw(Android.Graphics.Canvas canvas)
{
base.DispatchDraw (canvas);
if (opened || isTracking || animator != null) {
// Draw inset shadow on the menu
canvas.Save ();
shadowDrawable.SetBounds (0, 0, Context.ToPixels (8), Height);
canvas.Translate (ContentView.Left - shadowDrawable.Bounds.Width (), 0);
shadowDrawable.Draw (canvas);
canvas.Restore ();
if (contentOffsetX != 0) {
// Cover the area with a black overlay to display openess graphically
var openness = ((float)(MaxOffset - contentOffsetX)) / MaxOffset;
overlayPaint.Alpha = Math.Max (0, (int)(MaxOverlayAlpha * openness));
if (overlayPaint.Alpha > 0)
canvas.DrawRect (0, 0, ContentView.Left, Height, overlayPaint);
}
}
}
示例7: DispatchDraw
protected override void DispatchDraw(Android.Graphics.Canvas canvas)
{
base.DispatchDraw (canvas);
if (mPinnedShadow != null) {
// prepare variables
int pLeft = ListPaddingLeft;
int pTop = ListPaddingTop;
View view = mPinnedShadow.View;
// draw child
canvas.Save ();
canvas.ClipRect (pLeft, pTop, pLeft + view.Width, pTop + view.Height);
canvas.Translate (pLeft, pTop + mTranslateY);
DrawChild (canvas, mPinnedShadow.View, DrawingTime);
canvas.Restore ();
}
}
示例8: OnDraw
protected override void OnDraw(Android.Graphics.Canvas canvas)
{
base.OnDraw(canvas);
// Fill the background
canvas.DrawPaint(mBackgroundPaint);
// Test Text
canvas.Save();
var textWidth = mTextPaint.MeasureText("Hello");
Rect textBounds = new Rect();
mTextPaint.GetTextBounds("Hello", 0, 1, textBounds);
canvas.DrawText("Hello", canvas.Width/2-textWidth/2, canvas.Height/2 - textBounds.Height()/2, mTextPaint);
textWidth = mTextPaint.MeasureText("World");
textBounds = new Rect();
mTextPaint.GetTextBounds("World", 0, 1, textBounds);
mTextPaint.Color = Color.Green;
canvas.DrawText("World", (canvas.Width/2-textWidth/2) +100, (canvas.Height/2 - textBounds.Height()/2) + 100, mTextPaint);
canvas.Restore();
foreach (Box box in mBoxes) {
float left = Math.Min(box.Origin.X, box.Current.X);
float right = Math.Max(box.Origin.X, box.Current.X);
float top = Math.Min(box.Origin.Y, box.Current.Y);
float bottom = Math.Max(box.Origin.Y, box.Current.Y);
canvas.Save();
canvas.Rotate(box.Rotation, (box.Origin.X + box.Current.X)/2, (box.Origin.Y + box.Current.Y)/2 );
canvas.DrawRect(left, top, right, bottom, mBoxPaint);
canvas.Restore();
}
}