internal RoundButton(Context context, float height, float width, Color color, DoodleDraw doodle) : base(context) { SetWillNotDraw(false); this.height = height; this.width = width; fillColor = color; doodleDraw = doodle; Initialize(); }
public override View GetSampleContent(Context context) { mainLayout = new LinearLayout(context); mainLayout.Orientation = Orientation.Vertical; mainLayout.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); LinearLayout colorPalatte1 = new LinearLayout(context); height = context.Resources.DisplayMetrics.HeightPixels; width = context.Resources.DisplayMetrics.WidthPixels; density = context.Resources.DisplayMetrics.Density; dd = new DoodleDraw(context); TextView pickColor = new TextView(context); pickColor.Text = "Pick Color"; pickColor.TextSize = 20; pickColor.Left = (int)(5 * density); pickColor.SetTextColor(Color.Black); //mainLayout.AddView(pickColor); buttonCount = (int)(width / (35 * density)); for (int i = 0; i < buttonCount; i++) { RoundButton btn = new RoundButton(context, (30 * density), (30 * density), GetRandomColor(), dd); btn.LayoutParameters = new ViewGroup.LayoutParams((int)(30 * density), (int)(30 * density)); colorPalatte1.AddView(new TextView(context), new ViewGroup.LayoutParams((int)(5 * density), ViewGroup.LayoutParams.MatchParent)); colorPalatte1.AddView(btn); } colorPalatte1.SetBackgroundColor(Color.LightGray); colorPalatte1.SetPadding((int)(10 * density), (int)(10 * density), (int)(10 * density), (int)(10 * density)); colorPalatte1.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); mainLayout.AddView(colorPalatte1); dd.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); FrameLayout frame = new FrameLayout(context); frame.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, (int)(0.80 * height)); frame.AddView(dd); mainLayout.AddView(frame); Typeface typeface = Typeface.CreateFromAsset(context.Assets, "Android.ttf"); Button touchDraw = new Button(context); touchDraw.Text = "Touch to draw"; touchDraw.SetTextColor(Color.Blue); touchDraw.SetBackgroundColor(Color.Transparent); touchDraw.TextSize = TypedValue.ApplyDimension(ComplexUnitType.Pt, 3, context.Resources.DisplayMetrics); frame.AddView(touchDraw, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent, GravityFlags.Center)); radialMenu = new SfRadialMenu(context); radialMenu.RimColor = Color.Transparent; FrameLayout penLayout = new FrameLayout(context); penLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); ImageView penImage = new ImageView(context); penImage.LayoutParameters = penLayout.LayoutParameters; penImage.SetImageResource(Resource.Drawable.green); penImage.SetScaleType(ImageView.ScaleType.FitXy); TextView penText = new TextView(context); penText.LayoutParameters = penLayout.LayoutParameters; penText.Text = "L"; penText.Typeface = typeface; penText.TextSize = 20; penText.TextAlignment = TextAlignment.Center; penText.Gravity = GravityFlags.Center; penText.SetTextColor(Color.White); penLayout.AddView(penImage); penLayout.AddView(penText, new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent)); SfRadialMenuItem pen = new SfRadialMenuItem(context) { View = penLayout, ItemWidth = 70, ItemHeight = 70 }; pen.ItemTapped += Pen_ItemTapped; radialMenu.Items.Add(pen); FrameLayout brushLayout = new FrameLayout(context); brushLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); ImageView brushImage = new ImageView(context); brushImage.LayoutParameters = brushLayout.LayoutParameters; brushImage.SetImageResource(Resource.Drawable.green); brushImage.SetScaleType(ImageView.ScaleType.FitXy); TextView brushText = new TextView(context); brushText.LayoutParameters = brushLayout.LayoutParameters; brushText.Text = "A"; brushText.Typeface = typeface; brushText.TextSize = 20; brushText.TextAlignment = TextAlignment.Center; brushText.Gravity = GravityFlags.Center; brushText.SetTextColor(Color.White); brushLayout.AddView(brushImage); brushLayout.AddView(brushText, new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent)); SfRadialMenuItem brush = new SfRadialMenuItem(context) { View = brushLayout, ItemWidth = 70, ItemHeight = 70 }; brush.SetBackgroundColor(Color.Transparent); brush.ItemTapped += Brush_ItemTapped;; radialMenu.Items.Add(brush); FrameLayout eraserLayout = new FrameLayout(context); eraserLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); ImageView eraserImage = new ImageView(context); eraserImage.LayoutParameters = eraserLayout.LayoutParameters; eraserImage.SetImageResource(Resource.Drawable.green); eraserImage.SetScaleType(ImageView.ScaleType.FitXy); TextView eraserText = new TextView(context); eraserText.LayoutParameters = eraserLayout.LayoutParameters; eraserText.Text = "R"; eraserText.Typeface = typeface; eraserText.TextSize = 20; eraserText.TextAlignment = TextAlignment.Center; eraserText.Gravity = GravityFlags.Center; eraserText.SetTextColor(Color.White); eraserLayout.AddView(eraserImage); eraserLayout.AddView(eraserText, new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent)); SfRadialMenuItem eraser = new SfRadialMenuItem(context) { View = eraserLayout, ItemWidth = 70, ItemHeight = 70 }; eraser.ItemTapped += Eraser_ItemTapped; eraser.SetBackgroundColor(Color.Transparent); radialMenu.Items.Add(eraser); FrameLayout clearLayout = new FrameLayout(context); clearLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); ImageView clearImage = new ImageView(context); clearImage.LayoutParameters = clearLayout.LayoutParameters; clearImage.SetImageResource(Resource.Drawable.green); clearImage.SetScaleType(ImageView.ScaleType.FitXy); TextView clearText = new TextView(context); clearText.LayoutParameters = clearLayout.LayoutParameters; clearText.Text = "Q"; clearText.Typeface = typeface; clearText.TextSize = 20; clearText.TextAlignment = TextAlignment.Center; clearText.Gravity = GravityFlags.Center; clearText.SetTextColor(Color.White); clearLayout.AddView(clearImage); clearLayout.AddView(clearText, new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent)); SfRadialMenuItem clear = new SfRadialMenuItem(context) { View = clearLayout, ItemWidth = 70, ItemHeight = 70 }; clear.ItemTapped += Clear_ItemTapped; clear.SetBackgroundColor(Color.Transparent); radialMenu.Items.Add(clear); FrameLayout thickLayout = new FrameLayout(context); thickLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); ImageView thickImage = new ImageView(context); thickImage.LayoutParameters = thickLayout.LayoutParameters; thickImage.SetImageResource(Resource.Drawable.green); thickImage.SetScaleType(ImageView.ScaleType.FitXy); TextView thickText = new TextView(context); thickText.LayoutParameters = thickLayout.LayoutParameters; thickText.Text = "G"; thickText.Typeface = typeface; thickText.TextSize = 20; brushText.TextAlignment = TextAlignment.Center; thickText.Gravity = GravityFlags.Center; thickText.SetTextColor(Color.White); thickLayout.AddView(thickImage); thickLayout.AddView(thickText, new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent)); SfRadialMenuItem thickBrush = new SfRadialMenuItem(context) { View = thickLayout, ItemWidth = 70, ItemHeight = 70 }; thickBrush.ItemTapped += ThickBrush_ItemTapped; thickBrush.SetBackgroundColor(Color.Transparent); radialMenu.Items.Add(thickBrush); FrameLayout paintBoxLayout = new FrameLayout(context); paintBoxLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); ImageView paintBoxImage = new ImageView(context); paintBoxImage.LayoutParameters = paintBoxLayout.LayoutParameters; paintBoxImage.SetImageResource(Resource.Drawable.green); paintBoxImage.SetScaleType(ImageView.ScaleType.FitXy); TextView paintBoxText = new TextView(context); paintBoxText.LayoutParameters = paintBoxLayout.LayoutParameters; paintBoxText.Text = "V"; paintBoxText.Typeface = typeface; paintBoxText.TextSize = 20; paintBoxText.TextAlignment = TextAlignment.Center; paintBoxText.Gravity = GravityFlags.Center; paintBoxText.SetTextColor(Color.White); paintBoxLayout.AddView(paintBoxImage); paintBoxLayout.AddView(paintBoxText, new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent)); SfRadialMenuItem paintBox = new SfRadialMenuItem(context) { View = paintBoxLayout, ItemWidth = 70, ItemHeight = 70 }; paintBox.ItemTapped += PaintBox_ItemTapped; paintBox.SetBackgroundColor(Color.Transparent); radialMenu.Items.Add(paintBox); FrameLayout menuLayout = new FrameLayout(context); menuLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); ImageView menuImage = new ImageView(context); menuImage.LayoutParameters = menuLayout.LayoutParameters; menuImage.SetImageResource(Resource.Drawable.blue); menuImage.SetScaleType(ImageView.ScaleType.FitXy); TextView menuText = new TextView(context); menuText.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); menuText.Text = "U"; menuText.Typeface = typeface; menuText.TextSize = 40; menuText.TextAlignment = TextAlignment.Center; menuText.Gravity = GravityFlags.Center; menuText.SetTextColor(Color.White); menuLayout.AddView(menuImage); menuLayout.AddView(menuText, new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent)); radialMenu.CenterButtonView = menuLayout; radialMenu.IsDragEnabled = false; radialMenu.OuterRimColor = Color.Transparent; radialMenu.CenterButtonRadius = 30; radialMenu.RimRadius = 100; radialMenu.SelectionColor = Color.Transparent; radialMenu.CenterButtonBackground = Color.Transparent; frame.AddView(radialMenu, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent, GravityFlags.Center)); radialMenu.Point = new Point(0, (int)(context.Resources.DisplayMetrics.HeightPixels / context.Resources.DisplayMetrics.Density / 3.5)); touchDraw.Click += (sender, e) => { touchDraw.Visibility = ViewStates.Gone; }; return(mainLayout); }