2017-09-30 93 views
1

我正在尝试在我的布局中创建一个图形,这可以在Linearlayout中进行限制。示例=>Print App这是我的应用程序,图形必须位于写入“Diagram”的白色区域。如何绘制图形? - xamarin

图形只需要直线和贝塞尔曲线。

事实上,我不知道它是否有我可以绘制的特定对象。 与行(x1,y1,x2,y2)。

public class MyView : View 
{ 
    protected override void OnDraw(Canvas canvas) 
    { 
     base.OnDraw(canvas); 
     Paint green = new Paint { 
      AntiAlias = true, 
      Color = Color.Rgb(0x99, 0xcc, 0), 
     }; 
     green.SetStyle(Paint.Style.FillAndStroke); 

     Paint red = new Paint { 
      AntiAlias = true, 
      Color = Color.Rgb(0xff, 0x44, 0x44) 
     }; 
     red.SetStyle(Paint.Style.FillAndStroke); 

     float middle = canvas.Width * 0.25f; 
     canvas.DrawPaint(red); 
     canvas.DrawRect(0, 0, middle, canvas.Height, green); 
    } 
} 

如何在布局中的特定位置绘制此图形?

+0

欢迎来到SO!这个例子很棒,因为它显示了你正在努力完成的任务。为了社区提供有用的建议,请显示您已经尝试的内容,即某些代码,然后提出更具体的问题。 – DSway

回答

0

如何在我的布局的特定位置绘制此图像?

后,您已经完成抽签视图MyView,您可以用XML把它放在你的布局,例如像这样:

<YOURNAMESPACE.MyView android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:id="@+id/myview" /> 

在这种情况下,可以像使用正常的UI组件布局,意味着您可以使用Margin,Gravity和此类布局参数来确定应放置的位置。

如果你想在后面的代码中实现它,你可以使用LayoutParams。具体的布局代码取决于您使用的是哪个父视图。

基本上这意味着,您可以在View的子类中使用Paint来绘制视图,并将其置于布局中的UI组件。