Views AppCompat¶
AppCompat extension of Views
Supported platforms: Android.
Setup¶
If you want to use this dependency without using one of the fun packs,
you can use Splitties.viewsAppcompat
, provided you have refreshVersions added to the project.
For reference, the maven coordinates of this module are com.louiscad.splitties:splitties-views-appcompat
.
Content¶
Tooltip helpers¶
tooltipTxt
allows to set a tooltip text on any View
using property syntax
even on pre-O devices (using AndroidX's TooltipCompat
in these cases).
The contentDescAsTooltip()
extension function for View
takes the content
description of your view (used for accessibility) and sets it as the tooltip
text so users can long press or hover on the view and see what it is.
ImageView tinting¶
The imgTintList
and imgTintMode
extension properties for ImageView
are
the same as imageTintList
and imageTintMode
… except they work before
API 21 because they delegate to AndroidX's ImageViewCompat
.
ActionBar extensions¶
The configActionBar { … }
extension function for AppCompatActivity
allows to easily set up the supportActionBar
. If it is null, the passed
lambda is ignored, and an AssertionError
is logged.
The showTitle
, showHome
, homeAsUp
, useLogo
and showCustomView
boolean
extension properties are meant to be used on an Actionbar
(usually inside the configActionBar { … }
lambda).
They are more readable than the setDisplayHomeAsUpEnabled
and alike methods.
Config changes handling Toolbar¶
AppCompat Toolbar
from AndroidX has different dimensions and text sizes
for portrait and landscape modes, but they are not updated when the
configuration changes.
splitties.views.appcompat.Toolbar
extends it and
updates it when configuration changes, so you can avoid restarting your
Activity
when the device rotates, goes into multi-window mode,
or undergoes any other window size related config change if the rest of your content
handles this without needing to be recreated.