intuit / ssp

Variant of sdp project based on the sp size unit.
MIT License
549 stars 107 forks source link

issues Forks Stars Maven Central License

SSP - a scalable size unit for texts

An android lib that provides a new size unit - ssp (scalable sp). This size unit scales with the screen size based on the sp size unit (for texts). It can help Android developers with supporting multiple screens.

This is the sibling of the sdp size unit that should be used for non text views.

Attention

Use it carefully! for example, in most cases you still need to design a different layout for tablets.

Example

Here is a single layout built using ssp:

ssp example

And here is the same layout built using sp:

sp example

You can see that ssp scales with the screen size and the sp stays with the same size on all screen sizes.

Getting Started

To add ssp to your Android Studio project:

add implementation 'com.intuit.ssp:ssp-android:1.1.1’ to your build.gradle dependencies block.

for example:

  dependencies {
    implementation 'com.intuit.ssp:ssp-android:1.1.1'
  }

See the ssp_example.xml to see how to use to the ssp size unit.

For easy mapping of designs to ssp units, one can create designs with 300 pixels screen width - in this case each pixel in the design corresponds to 1 ssp.

Note

The ssp size unit calculation includes some approximation due to some performance and usability constraints.