async void AddTileButton_Click(object sender, EventArgs e)
{
if (0 == String.Compare(addTileButton.Text, AddTileString))
{ // add tile
try
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.InScaled = false;
var tile = new BandTile(tileId)
{
Icon = BandImage.FromBitmap(BitmapFactory.DecodeResource(Resources, Resource.Raw.tile, options)),
Name = "Altitude",
SmallIcon = BandImage.FromBitmap(BitmapFactory.DecodeResource(Resources, Resource.Raw.badge, options)),
IsScreenTimeoutDisabled = true
};
// define the page layout
var pageLayout = new PageLayout {
Root = new FlowPanel {
Orientation = FlowPanelOrientation.Vertical,
Rect = new PageRect(0, 0, 258, 128),
}
};
// Page1 line1
var line1 = new FlowPanel {
Orientation = FlowPanelOrientation.Horizontal,
Rect = new PageRect(0, 0, 258, 30),
Elements =
{
new TextBlock {
ElementId = 1,
Rect = new PageRect(0, 0, 258, 30),
Margins = new Margins(15, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Bottom,
Font = TextBlockFont.Small,
ColorSource = ElementColorSource.BandHighlight,
},
new TextBlock {
ElementId = 2,
Rect = new PageRect(0, 0, 258, 30),
Margins = new Margins(10, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Bottom,
Font = TextBlockFont.Small
}
}
};
// Page1 Line2
var line2 = new FlowPanel {
Orientation = FlowPanelOrientation.Horizontal,
Rect = new PageRect(0, 38, 280, 90),
Elements =
{
new Icon {
ElementId = 10,
Rect = new PageRect(0, 0, 24, 24),
Margins = new Margins(15, 35, 0, 0),
VerticalAlignment = VerticalAlignment.Top,
ColorSource = ElementColorSource.BandBase
},
new Icon {
ElementId = 11,
Rect = new PageRect(0, 0, 24, 24),
Margins = new Margins(-24, 35, 0, 0),
VerticalAlignment = VerticalAlignment.Top,
Color = new BandColor(0xff, 0, 0) //red
},
new Icon {
ElementId = 12,
Rect = new PageRect(0, 0, 24, 24),
Margins = new Margins(-24, 35, 0, 0),
VerticalAlignment = VerticalAlignment.Bottom,
Color = new BandColor(0xff, 0xff, 0) //yellow
},
new Icon {
ElementId = 13,
Rect = new PageRect(0, 0, 24, 24),
Margins = new Margins(-24, 35, 0, 0),
VerticalAlignment = VerticalAlignment.Bottom,
Color = new BandColor(0, 0xff, 0) //green
},
new TextBlock {
ElementId = 5,
Rect = new PageRect(0, 0, 228, 90),
Margins = new Margins(10, 0, 0, 15),
VerticalAlignment = VerticalAlignment.Bottom,
Font = TextBlockFont.ExtraLargeNumbersBold
}
}
};
pageLayout.Root.Elements.Add(line1);
pageLayout.Root.Elements.Add(line2);
// add the page layout to the tile
tile.PageLayouts.Add(pageLayout);
// add the tile to the Band
await Model.Instance.Client.TileManager.AddTileAsync(tile);
addTileButton.Text = RemoveTileString;
}
catch (Exception ex)
{
Util.ShowExceptionAlert(this, "Add Tile", ex);
}
}
else
{ // remove tile
try
{
await Model.Instance.Client.TileManager.RemoveTileAsync(tileId);
addTileButton.Text = AddTileString;
}
catch (Exception ex)
{
Util.ShowExceptionAlert(this, "Remove Tile", ex);
}
}
}