2012-04-03 1 views
0

Я новичок в MonoDroid. Как рисовать эллипс во время выполнения с помощью C# в приложении Android?MonoDroid - рисовать эллипс во время выполнения

+0

Что вы имеете в виду? Вы хотите нарисовать эллипс на пользовательском контроле/поверхности? Или вы хотите добавить эллипс в какую-то часть вашего макета где-нибудь? – Matthew

+0

Я имею в виду, есть ли что-то вроде класса Shape от .Net в Android Sdk? Или я должен использовать алгоритм для рисования эллипса? –

ответ

2

Чтобы нарисовать эллипс или другие геометрические фигуры, вы можете использовать объект canvas. Вот очень простой бит кода, который будет рисовать эллипс (овал). Я просто создал представление и перепробовал метод OnDraw для рисования эллипса. Вы определяете объект RectF, который определяет прямоугольную границу эллипса. Хорошая ссылка является Android SDK:

http://developer.android.com/reference/android/graphics/Canvas.html

[Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")] 
public class Activity1 : Activity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 
     var targetView = new OvalView(this); 
     SetContentView(targetView); 
    } 
} 

public class OvalView : View 
{ 
    public OvalView(Context context) : base(context) { } 

    protected override void OnDraw(Canvas canvas) 
    { 
     RectF rect = new RectF(0,0, 300, 300); 
     canvas.DrawOval(rect, new Paint() { Color = Color.CornflowerBlue }); 
    } 
}