A little late... but new compose artifacts this pa...
# compose
c
A little late... but new compose artifacts this past Wednesday Version 1.6.0-beta01 of anim, foundation, material, runtime, ui •
ExitTransition.Hold
has been renamed to
ExitTransition.KeepUntilTransitionsFinished
to be more explicit. (I1c490) • You may now use
keyframesWithSpline
to interpolate any N-dimensional value using monotonic splines. It's particularly useful to interpolate positional values such as
Offset
,
IntOffset
,
DpOffset
. Added as Experimental API. • Add renderer support for Sweep Gradient in
ArcLine
. (I4d5bb) • Implement equals and hashcode for
PageSize.Fixed
. (Ie3ede, b/300134276) • Fix binary compatibility issue with Window Inset change. (Iee695) • Remove material core layer for Material3 Chip/Button as the microbenchmarks show better performance without it. (I55555) • A ton of DragAndDrop changes... click here to read all changes • The children of
SubcomposeLayout
(and layouts like
LazyColumn
based on it) which are retained to be reused in future are considered deactivated. New
assertIsDeactivated()
test API was introduced to test such nodes. The rest of the test apis will filter out deactivated nodes by default. (I2ef84, b/187188981) • Material
SwipeToReveal
APIs (for Cards and Chips) now rely on a slot based API (as recommended by Compose) instead of data class based instances to create those slots. This is a breaking change, please see the demo and sample code for examples on how to use the new API. (Ia8943) • Fixed a bug that would cause
BasicText
layout to not shrink when
minWidth
changed and
minWidth
less than initial measure constraints
maxWidth
(Idb19c) • Prevent catching the switch while animating on quick clicksFocus EDM popup when opened when TalkBack is onUpdate expect and actual declarations for 1.9.20 • Use referential policy for composition local scope state in context. (83361c) • Restrict $dirty capture to inline lambdas. (acfca0) • Fix moveable content sometimes receiving the wrong composition locals. (035cd6) • Use faster non-allocating hashmaps in
RecomposeScopeImpl
. (d79494) • Removed
FocusDirection.In
and
FocusDirection.Out
use
FocusDirection.Enter
and
FocusDirection.Exit
instead (I2f660) •
FontStyle(int)
constructor is deprecated, use
FontStyle.Normal
or
FontStyle.Italic
instead. (I66610) • Renamed
FontScalable
interface to
FontScaling
(Ie804a) •
SoftwareKeyboardController.show()
will no longer show the software keyboard if no text editor is focused. (I2165a, b/301477279) • Hardware key Up events for keys that haven't received a Down event in the same Compose View will now be ignored. (Ib37b4, b/305518328) •
replace() called on item that was not placed
crash (happens to my prod apps all the time) was fixed as well. Time to upgrade and deploy! Not sure what fix addressed this issue. Version 1.2.0-alpha11 of m3 • Implements
PullToRefreshContainer
and
PullToRefreshState
, which together provide a pull to refresh implementation in Material3. (I16456, b/261760718) • Implements
PullToRefreshContainer
and
PullToRefreshState
, which together provide a pull to refresh implementation in Material3. (I16456, b/261760718) • Mark the
SwipeToDismissBox
DismissDirection
and
DismissValue
as experimental. (I517b0) • Rename
SwipeToDismiss
to
SwipeToDismissBox
. Rename
background
to
backgroundContent
and
dismissContent
to trailing
content
lambda. (I7f4d3) • Make the constructor for
ChipElevation
and
SelectableChipElevation
public. (Ie0c48, b/308432421) • Adding
ModalBottomSheetProperties
. Moving
securePolicy
into
ModalBottomSheetProperties
. Adding
isFocusable
and
shouldDismissOnBackPress
to
ModalBottomSheetProperties
. These new booleans help determine how modal bottom sheet should handle IME events. (Iea56f, b/278216859) • Updated
RangeSlider
and
Slider
states to remove
initialOnValueChange
, the initial prefixes, and appropriate kdocs. (I57d30) • Deprecate
ChipBorder
class and its associated function calls, recommend using
BorderStroke
directly instead. (I89cc2) • Foundation Tooltip APIs are now
@ExperimentalFoundationApi
. (I30b0b) •
TabRow
and
ScrollableTabRow
are no longer deprecated. The new Primary and Secondary variants are marked as experimental. (I0def6) • Filter and input chips now use
BorderStroke
directly. (I07a8d) •
SegmentedButton
now uses
BorderStroke
directly. (I89b9b) • Renamed the generic
AlertDialog
function to
BasicAlertDialog
, and deprecate the previous function. (Idbe52) • Rename
SwipeToDismiss
APIs to
SwipeDismiss
, and promote the new
SwipeDismiss
APIs to stable. (I14cbe) • Adding
tonalElevation
and
shadowElevation
to tooltip APIs. Additionally, moving
TooltipBox
,
PlainTooltip
, and
RichTooltip
APIs back to experimental since they were accidentally released as stable. (If0f66, b/293939035) • Promote experimental chip APIs to stable. (Iea2c3) • Removed the
@ExperimentalMaterial3Api
annotation from the Material3 clickable Cards. (I88dbf) • Fixed an issue where
SwipeToDismiss
would crash in certain scenarios with nested Lookahead and Lazy layouts. (Ica8d1, b/297226562)
👏 6
❤️ 9
s
We need scrollbars, ASAP ^^
☝️ 1
My two cents: Pull to refresh is nice to have, but scrollbars are essentials.
f
Just wondering, do you mean draggable/interactive scrollbars or just scroll indicators? 🤔
Also... is there an issue I can upvote? 😄
s
Real scrollbars like I have them on Compose for Desktop... but not in the Android version of Ashampoo Photos. I once had them, but they must have been experimental, because with the change of the package they were gone.
Scrollbars are according to the roadmap "in focus" and I felt to complain because this huge update has stuff that I would see in priority after scrollbars 😅
f
Fair enough 😅 I've never implemented scrollbars in Android app so I don't necessarily agree but I get your frustration if it's something that's been on a roadmap for a while ☺️
s
Ashampoo Photos is similar to Apple Photos & Google Photos. If you have a huge photo library you might want to fast scroll somewhere. It's not like news reader where you read one article after another and a scroll indicator might be everything you need (if even at all).
f
Yeah, I understand. Just that from my experience I've seen more apps with pull to refresh than with "real scrollbars". But I agree that they are needed ☺️
👍 1
s
😄
Not everyone may find it necessary. I disabled the scrollbars in the prototype of the upcoming Ashampoo Photos iOS version due to issues causing freezes (https://github.com/JetBrains/compose-multiplatform/issues/3807). The scrollbar in Ashampoo Photos closely resembles and functions similarly to the one in Apple Photos. During testing, one of my QA team members discovered that he could actually grab and scroll using the tiny scrollbar. Initially, he thought it was merely an indicator. Despite being a long-time user of Apple Photos for personal needs, he admitted, "I never needed to scroll; I always view my newest pictures at the bottom, which the app automatically scrolls to." 😅 And believe it or not, the same guy wondered why he needs to press the "refresh" button in the toolbar and asked for "swipe to refresh". 🫠
I have a ton of issues in my backlog for Ashampoo Photos, but once that's done I will surely implemented swipe to refresh. 🙂 It's just that this is a mobile-only feature and I focus on a layout & features that work on all platforms.
image.png
c
I think someone on the android team maintains a scrollbars library... lemme try to find it.
s
Yes, I heard of that. A app which has a custom scrollbar implementation. Unfortunately this is not quite the same as a ready-to-use library I'm looking for.
a
Must be something with our app, but going from alpha08 to beta01 the HorizontalPager is unusable now (crashes in layout after this recent change... https://github.com/androidx/androidx/commit/4486476d1c528d898e4535482a48fb01acab22b5)
c
hooray for pull refresh