mirror of
https://github.com/bitwarden/android.git
synced 2024-12-29 20:38:31 +03:00
Performance tuning layouts: remove stack layouts in favor of grid.
This commit is contained in:
parent
7bc38a35e8
commit
83985965f2
2 changed files with 25 additions and 29 deletions
|
@ -19,37 +19,32 @@ namespace Bit.App.Controls
|
||||||
Style = (Style)Application.Current.Resources["text-muted"]
|
Style = (Style)Application.Current.Resources["text-muted"]
|
||||||
};
|
};
|
||||||
|
|
||||||
var labelDetailStackLayout = new StackLayout
|
|
||||||
{
|
|
||||||
HorizontalOptions = LayoutOptions.StartAndExpand,
|
|
||||||
VerticalOptions = LayoutOptions.CenterAndExpand,
|
|
||||||
Children = { Label, Detail },
|
|
||||||
Padding = Device.OnPlatform(
|
|
||||||
iOS: new Thickness(15, 5, 5, 5),
|
|
||||||
Android: new Thickness(15, 0, 5, 5),
|
|
||||||
WinPhone: new Thickness(15, 5, 5, 5)),
|
|
||||||
Spacing = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
Button = new ExtendedButton
|
Button = new ExtendedButton
|
||||||
{
|
{
|
||||||
HorizontalOptions = LayoutOptions.End,
|
WidthRequest = 60
|
||||||
VerticalOptions = LayoutOptions.CenterAndExpand,
|
|
||||||
WidthRequest = 50
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var containerStackLayout = new StackLayout
|
var grid = new Grid
|
||||||
{
|
{
|
||||||
Orientation = StackOrientation.Horizontal,
|
ColumnSpacing = 0,
|
||||||
Children = { labelDetailStackLayout, Button }
|
RowSpacing = 0,
|
||||||
|
Padding = new Thickness(15, 3, 0, 3)
|
||||||
};
|
};
|
||||||
|
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
|
||||||
|
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
|
||||||
|
grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
|
||||||
|
grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(60, GridUnitType.Absolute) });
|
||||||
|
grid.Children.Add(Label, 0, 0);
|
||||||
|
grid.Children.Add(Detail, 0, 1);
|
||||||
|
grid.Children.Add(Button, 1, 0);
|
||||||
|
Grid.SetRowSpan(Button, 2);
|
||||||
|
|
||||||
if(Device.OS == TargetPlatform.Android)
|
if(Device.OS == TargetPlatform.Android)
|
||||||
{
|
{
|
||||||
Label.TextColor = Color.Black;
|
Label.TextColor = Color.Black;
|
||||||
}
|
}
|
||||||
|
|
||||||
View = containerStackLayout;
|
View = grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Label Label { get; private set; }
|
public Label Label { get; private set; }
|
||||||
|
|
|
@ -473,29 +473,30 @@ namespace Bit.App.Pages
|
||||||
var image = new Image
|
var image = new Image
|
||||||
{
|
{
|
||||||
Source = "folder",
|
Source = "folder",
|
||||||
VerticalOptions = LayoutOptions.CenterAndExpand
|
WidthRequest = 18,
|
||||||
|
HeightRequest = 18
|
||||||
};
|
};
|
||||||
|
|
||||||
var label = new Label
|
var label = new Label
|
||||||
{
|
{
|
||||||
FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
|
FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
|
||||||
VerticalTextAlignment = TextAlignment.Center,
|
|
||||||
VerticalOptions = LayoutOptions.CenterAndExpand,
|
|
||||||
Style = (Style)Application.Current.Resources["text-muted"]
|
Style = (Style)Application.Current.Resources["text-muted"]
|
||||||
};
|
};
|
||||||
|
|
||||||
label.SetBinding<VaultListPageModel.Folder>(Label.TextProperty, s => s.Name);
|
label.SetBinding<VaultListPageModel.Folder>(Label.TextProperty, s => s.Name);
|
||||||
|
|
||||||
var stackLayout = new StackLayout
|
var grid = new Grid
|
||||||
{
|
{
|
||||||
Orientation = StackOrientation.Horizontal,
|
ColumnSpacing = 10,
|
||||||
VerticalOptions = LayoutOptions.FillAndExpand,
|
Padding = new Thickness(16, 8, 0, 8)
|
||||||
Children = { image, label },
|
|
||||||
Padding = new Thickness(16, 0, 0, 0)
|
|
||||||
};
|
};
|
||||||
|
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
|
||||||
|
grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(18, GridUnitType.Absolute) });
|
||||||
|
grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
|
||||||
|
grid.Children.Add(image, 0, 0);
|
||||||
|
grid.Children.Add(label, 1, 0);
|
||||||
|
|
||||||
View = stackLayout;
|
View = grid;
|
||||||
Height = 40;
|
|
||||||
BackgroundColor = Color.FromHex("efeff4");
|
BackgroundColor = Color.FromHex("efeff4");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue