Shell does not provide way to change toolbar properties such as font weight, size, family, alignment, background color, etc.
- Dominant language
- C#
- Stars
- 23.3k
- Forks
- 2k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 290
Description
### Description
When using the NavigationPage, there is a property, BarBackgroundColor, used to change the background color of the navigation toolbar; this property is not available in Shell. Also, in both NavigationPage and Shell, both derivatives of the Page class, do not provide a way of manipulating text elements directly such as font weight, size, family, and alignment. In order to create an app-wide style, having access to these object's toolbar is crucial. I want to use Shell as my navigation baseline but overriding element properties of the toolbar is prevented in Shell because these properties are not exposed.
If there is some way to do this at present, I cannot find it!
### Public API Changes
Shell.BarBackgroundColor = **_Colors.Purple_**;
Shell.Title.FontAlignment = **_HorizontalOptions.Start_**;
Shell.Title.FontSize = **_32_**;
etc.
### Intended Use-Case
In trying to provide the app user with the ability to change the application "skin", it would be nice to be able to set the toolbar component's individual properties so that when skins are changed, the resources for all shell pages can be updated dynamically.
Contributor guide
Research direction
Start by reviewing the Shell, NavigationPage, and Page toolbar APIs described in the issue, and compare the existing BarBackgroundColor and text-element behavior. Done means Shell exposes a coherent way to configure toolbar background and title font properties for app-wide and dynamically changing styles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100