From 1fc9aea00980a91a0204d0619ac9e08e89dcae22 Mon Sep 17 00:00:00 2001 From: AdityaGaikwad Date: Thu, 2 May 2024 21:05:27 +0530 Subject: [PATCH] dynamic text and sizes dependency dynamic size of the image on onboard slide --- .idea/deploymentTargetDropDown.xml | 15 ++++++++++++++- app/build.gradle | 5 +++++ .../java/com/woka/onboard/OnboardingAdapter.kt | 17 +++++++++++++++++ app/src/main/res/drawable/default_dot.xml | 4 ++-- app/src/main/res/drawable/selected_dot.xml | 4 ++-- .../main/res/layout/fragment_select_avatar.xml | 4 ++-- app/src/main/res/layout/onboard_slide.xml | 12 ++++++------ 7 files changed, 48 insertions(+), 13 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 0c0c338..316d309 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -3,7 +3,20 @@ - + + + + + + + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index 60e2727..5ab3ae7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -44,6 +44,11 @@ dependencies { implementation 'com.github.bumptech.glide:glide:4.16.0' + // dynamics text sizes + implementation 'com.intuit.ssp:ssp-android:1.1.1' + // dynamic sizes + implementation 'com.intuit.sdp:sdp-android:1.1.1' + implementation libs.androidx.core.ktx implementation libs.androidx.appcompat implementation libs.material diff --git a/app/src/main/java/com/woka/onboard/OnboardingAdapter.kt b/app/src/main/java/com/woka/onboard/OnboardingAdapter.kt index 7a9ab5e..5839d49 100644 --- a/app/src/main/java/com/woka/onboard/OnboardingAdapter.kt +++ b/app/src/main/java/com/woka/onboard/OnboardingAdapter.kt @@ -1,5 +1,7 @@ package com.woka.onboard +import android.util.DisplayMetrics +import android.util.TypedValue import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView @@ -35,6 +37,21 @@ class OnboardingAdapter : RecyclerView.Adapter() { image.setImageResource(R.drawable.slide3) } } + + // Calculate screen dimensions in pixels + + // Calculate screen dimensions in pixels + val displayMetrics: DisplayMetrics = itemView.context.resources.displayMetrics + val screenWidth = displayMetrics.widthPixels + val screenHeight = displayMetrics.heightPixels + + // Calculate aspect ratio + val aspectRatio = screenHeight.toFloat() / screenWidth.toFloat() + + if (aspectRatio < 2){ + binding.image.layoutParams.height = 140 * displayMetrics.density.toInt() + binding.image.layoutParams.width = 160 * displayMetrics.density.toInt() + } } } } diff --git a/app/src/main/res/drawable/default_dot.xml b/app/src/main/res/drawable/default_dot.xml index 8f1f465..6fbeb35 100644 --- a/app/src/main/res/drawable/default_dot.xml +++ b/app/src/main/res/drawable/default_dot.xml @@ -6,10 +6,10 @@ android:shape="ring" android:thickness="6dp" android:useLevel="false"> - + + android:color="@color/color_primary"/> \ No newline at end of file diff --git a/app/src/main/res/drawable/selected_dot.xml b/app/src/main/res/drawable/selected_dot.xml index 6fbeb35..8f1f465 100644 --- a/app/src/main/res/drawable/selected_dot.xml +++ b/app/src/main/res/drawable/selected_dot.xml @@ -6,10 +6,10 @@ android:shape="ring" android:thickness="6dp" android:useLevel="false"> - + + android:color="@android:color/darker_gray"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_select_avatar.xml b/app/src/main/res/layout/fragment_select_avatar.xml index 34ea15d..e9333e4 100644 --- a/app/src/main/res/layout/fragment_select_avatar.xml +++ b/app/src/main/res/layout/fragment_select_avatar.xml @@ -9,8 +9,8 @@ @@ -37,7 +37,7 @@ tools:text="@string/slide_1_title" android:fontFamily="@font/exo_2_extrabold" android:textColor="@color/color_primary" - android:textSize="20sp" + android:textSize="@dimen/_18ssp" android:textAlignment="center" /> @@ -49,7 +49,7 @@ tools:text="@string/slide_1_subtitle" android:fontFamily="@font/exo_2" - android:textSize="16sp" + android:textSize="@dimen/_16ssp" android:textColor="@color/color_primary" android:textAlignment="center"