Skip to content

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.