Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.slaviboy:JetpackComposePercentageUnits:1.0.0'
}
The library allows you to use use the device Width and Height as meassuring units, that can be used to set the Modifier properties. The advantages of using dw(device width), dh (device height)
values instead of dp is that you can scale the content of the Composable components accourding to the current device size.
To initialize the size inside your MainActivity onCreate method call the method initSize(), otherwise you would get an java.lang.IllegalArgumentException: Cannot round NaN value. error!
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// init device width and height
initSize()
setContent {
// your UI here
Text(
text = "Hello",
fontSize = 0.04.sh,
color = Color.Green,
modifier = Modifier
.offset(x = 0.07.dw, y = 0.2.dh)
)
}
}
}