Status Update
Comments
js...@google.com <js...@google.com> #3
Thanks for the report!
an...@google.com <an...@google.com> #4
The release notes documentation has been edited to clarify this change in behavior for line height.
To support non-standard text sizes, we encourage users to follow the Material design system and use a different style = LocalTextStyle.current.copy(lineHeight = TextUnit.Unspecified)
, or create a custom Typography
entirely.
js...@google.com <js...@google.com> #5
js...@google.com <js...@google.com> #6
In my case, I have multiple font sizes in the same Text
(using SpanStyle
in AnnotatedString
). There are legitimate reasons for this. For example, when combining Chinese and English (phonetic) together (for language-learning purposes).
lp...@google.com <lp...@google.com> #7
One alternative way of looking at it is that enums and various helper functions are technically all constants, as they aren't values that change over time. IIRC this is partly why FooConstants was chosen over FooDefaults.
This seems to be the opposite actually, no? The point is that these numbers are strictly tied to the spec, and so can / will change if the spec updates the internal padding for a Button for example. This allows developers to build their own components, point to these 'defaults', and always be matching the spec. For that reason, Defaults
makes more sense to me, as there's no guarantee of stability.
js...@google.com <js...@google.com> #8
Constants "won't change over time" as in "are not mutable vars changed by the program during normal execution", as defined by wikipedia:
an...@google.com <an...@google.com> #9
ap...@google.com <ap...@google.com> #10
Branch: androidx-master-dev
commit 7bb5f31e522b202ec7d7eeb1ec468d7795630a75
Author: Andrey Kulikov <andreykulikov@google.com>
Date: Fri Jun 26 12:53:36 2020
Rename Button object to ButtonConstants
Fixes: 159687878
Test: manually
Relnote: Rename Button object (containing the defaults used by Button function) to ButtonConstants
Change-Id: I7c5f7d864984502bc477c3d42896f052b25c1db3
M ui/ui-material/api/0.1.0-dev15.txt
M ui/ui-material/api/current.txt
M ui/ui-material/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-material/api/public_plus_experimental_current.txt
M ui/ui-material/api/restricted_0.1.0-dev15.txt
M ui/ui-material/api/restricted_current.txt
M ui/ui-material/samples/src/main/java/androidx/ui/material/samples/ButtonSamples.kt
M ui/ui-material/src/main/java/androidx/ui/material/Button.kt
js...@google.com <js...@google.com> #11
What about FilledTextField
, and OutlinedTextField
?
js...@google.com <js...@google.com> #12
What about FilledTextField
and OutlinedTextField
?
Description
TLDR: The
object Button
should be renamedobject ButtonConstants
. Similarly we should probably renameScaffold
,TabRow
,FilledTextField
,OutlinedTextField
(and are there any others?) to follow the same pattern.As per Compose API Council on April 6, 2020, we decided the public constants for any composable
Foo
should go on an object calledFooConstants
instead of an object namedFoo
. The primary motivation is that there is a naming overload/collision such that when you search for a widget by name in AndroidStudio, you would naturally open the wrong object and then get confused by how it worked, although there were also other similar considerations that pushed us in this direction.