2012-04-03 5 views
0

MonoDroid에서 초보자입니다. Android 애플리케이션에서 C#을 사용하여 런타임시 타원을 그릴 수있는 방법은 무엇입니까?MonoDroid - 런타임에 타원 그리기

+0

당신은 무엇을 의미합니까 : 좋은 참조가 안드로이드 SDK입니까? 사용자 정의 컨트롤/서페이스에 타원을 그리시겠습니까? 아니면 레이아웃의 일부분에 타원을 추가하고 싶습니까? – Matthew

+0

내 말은 안드로이드 SDK에 .NET의 Shape 클래스와 같은 멋진 점이 있습니까? 아니면 난 타원 그리기 알고리즘을 사용해야합니까? –

답변

2

타원 또는 다른 기하학적 모양을 그리려면 캔버스 개체를 사용할 수 있습니다. 여기에 타원 (타원)을 그리는 아주 기본적인 비트 코드가 있습니다. 기본적으로보기를 작성하고 OnDraw 메서드를 오버라이드하여 타원을 그립니다. 타원의 직사각형 경계를 정의하는 RectF 객체를 정의합니다.

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 }); 
    } 
}