Lets say we have a label that has a date (number), and a day of the week on the same line. They must have different styles, maybe color and/or font weight, but they should always align to whatever position we want, left/right, like a single line normally would. Is that currently possible on Watch Face Studio?
I’m limited to creating different text elements for each style of text, and it is not possible to make the proper alignment for them.
I ran into an issue like this wanting to right align two different text styles; one being the day of the week, and the other being a non-zero prefixed date (1-31).
Since 1-9 are less characters than 10+ you’d end up with a larger gap between the two text elements of the number was below 10. | TUE|| 9| vs | TUE||10|
A solution is to right align the day of the week, and left align the date | TUE||9 |
But then if you’re wanting to keep it all aligned to one side that solution may not be good.
Another solution is to add an offset to the X position of the week day if the date is below 10.
That way when there is one less character the text element shifts over a bit in the desired direction. in this example the offset is 43 ([DAY_WEEK_S] < 10 ? 43 ? 0)
You’d have to adjust the offset size based on whatever font properties you have.
That’s my solution. But if there’s an easier way then I’d love to know!
It would be great to have multiple styles for one text element though even if it’s just colors and font weight.
Thanks for the answer. Grouping wouldn’t work in this case, the text is still limited to it’s own static boundaries. The software should take into consideration the dynamic content in the text element, the different styles and align them all together as if it was a simple, single line of text. I’ll exemplify on another reply.
Thanks for the reply. That seems to be a very hacky way to make it happen, and in any other circumstance would be a nightmare to make it work. It’s overengineering to fix something that shouldn’t need that much effort though. But I appreciate it.
Maybe a simple solution will be implemented in WFS at some point, hopefully.
Now, on WFS, the text has to be separate, and they are aligned by themselves, so if the text on either side grows or shrinks, the alignment would still be inadequate, and would still be wrong aligning to any position.
Thanks for the reply. I have to disagree though. I appreciate WFS for it’s straight forward approach to designing watch faces, but people out there may rely on it to make a living selling their creative ideas. Sure, developers can skip WFS and go right to Android Studio, and they will have full control of their designs and access to a lot more API’s (and it is also a much more complex software). I don’t see WFS as a word processing tool, but that doesn’t mean it should ignore certain aspects that developers may need to make their ideas a reality.
In this particular case, the text element doesn’t even need to hold multiple text styles. An ‘auto sizing’ + ‘auto align’ (or even an ‘auto layout’) feature would suffice. For example, let’s say we have three text elements (with their own styles) forming a single line, and they have to align to the center as a single unit. For this to work, the text elements should resize based on content (currently they have static size and cut off any overflow), and the whole group should also auto align to whatever position we need it to, as the content of the text element changes. Figma has a pretty good example of this feature.
I’m saying all of this, because I care about this tool, which is amazing. Even though I’m already planning on moving my workflow to Android Studio. Anyway, I appreciate the discussion and the work WFS devs have put on this for the community.
i agree with you aligning text is really a pain its not good in watchface studio and when writing text like day month and year in single line
for example you want each to have different font then you need to add each text in seperate layer it doesnot look nice at times even with left aligning one and the other right aligning.
Every text element would have margin settings (left / right)
when two or more text layers are select, new bind / attach / join option would appear (similar to masking) Joining from left to right 1st item left … last item right, so you can adjust positions etc.)
for attached group, there could be align option too.
But, I’m not sure if this is possible with Watch Face Format.
Every text element would have margin settings (left / right)
What ones don’t have this feature?
In any case Text Formatting is a current feature request, but no new features were added to the 1.4.x release. Those will be addressed now that a version for Wear 4 is finished.