Reworked welcome screens

This commit is contained in:
Sylvain Berfini 2025-02-07 10:58:27 +01:00
parent bfc435c350
commit 6afd711539
13 changed files with 529 additions and 275 deletions

View file

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="skipClickListener"
type="View.OnClickListener" />
<variable
name="nextClickListener"
type="View.OnClickListener" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.welcome.WelcomeActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{skipClickListener}"
style="@style/default_text_style_600"
android:id="@+id/skip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:paddingTop="13dp"
android:paddingBottom="13dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@string/welcome_carousel_skip"
android:textSize="13sp"
android:textColor="?attr/color_on_main"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/header"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="@id/header"
app:layout_constraintBottom_toBottomOf="@id/header"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintBottom_toBottomOf="@id/title_first_line"
app:layout_constraintStart_toEndOf="@id/title_first_line"/>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="20dp"
app:layout_constraintTop_toBottomOf="@id/header"
app:layout_constraintBottom_toTopOf="@id/dots_indicator"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<com.tbuonomo.viewpagerdotsindicator.DotsIndicator
android:id="@+id/dots_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
app:dotsColor="?attr/color_main2_200"
app:dotsCornerRadius="8dp"
app:dotsSize="13dp"
app:dotsSpacing="5dp"
app:dotsWidthFactor="2.5"
app:selectedDotColor="?attr/color_main1_500"
app:progressMode="false"
app:layout_constraintTop_toBottomOf="@id/pager"
app:layout_constraintBottom_toTopOf="@id/next"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{nextClickListener}"
style="@style/primary_button_label_style"
android:id="@+id/next"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@string/next"
app:layout_constraintWidth_max="@dimen/button_max_width"
app:layout_constraintTop_toBottomOf="@id/dots_indicator"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>

View file

@ -9,83 +9,48 @@
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/title_second_line"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintBottom_toBottomOf="@id/title_first_line"
app:layout_constraintStart_toEndOf="@id/title_first_line"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_linphone_logo"
android:contentDescription="@null"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/message"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/page_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="55dp"
android:layout_marginStart="55dp"
android:text="@string/app_name"
android:textColor="@color/gray_main2_600"
android:textSize="20sp"
android:textColor="?attr/color_text"
android:textSize="40sp"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintStart_toEndOf="@id/image"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/message"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginTop="16dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_1_message"
android:textColor="@color/gray_main2_600"
android:textSize="14sp"
android:textColor="?attr/color_text"
android:textSize="20sp"
android:gravity="start"
android:maxLines="6"
app:layout_constraintTop_toBottomOf="@id/page_title"
app:layout_constraintStart_toStartOf="@id/page_title"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -9,83 +9,48 @@
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/title_second_line"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintBottom_toBottomOf="@id/title_first_line"
app:layout_constraintStart_toEndOf="@id/title_first_line"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_secured_logo"
android:contentDescription="@null"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/message"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/page_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="55dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_2_title"
android:textColor="@color/gray_main2_600"
android:textSize="20sp"
android:textColor="?attr/color_text"
android:textSize="40sp"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintStart_toEndOf="@id/image"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/message"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginTop="16dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_2_message"
android:textColor="@color/gray_main2_600"
android:textSize="14sp"
android:textColor="?attr/color_text"
android:textSize="20sp"
android:gravity="start"
android:maxLines="6"
app:layout_constraintTop_toBottomOf="@id/page_title"
app:layout_constraintStart_toStartOf="@id/page_title"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -9,83 +9,48 @@
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/title_second_line"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintBottom_toBottomOf="@id/title_first_line"
app:layout_constraintStart_toEndOf="@id/title_first_line"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_open_source_logo"
android:contentDescription="@null"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/message"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/page_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="55dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_3_title"
android:textColor="@color/gray_main2_600"
android:textSize="20sp"
android:textColor="?attr/color_text"
android:textSize="40sp"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintStart_toEndOf="@id/image"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/message"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginTop="16dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_3_message"
android:textColor="@color/gray_main2_600"
android:textSize="14sp"
android:textColor="?attr/color_text"
android:textSize="20sp"
android:gravity="start"
android:maxLines="6"
app:layout_constraintTop_toBottomOf="@id/page_title"
app:layout_constraintStart_toStartOf="@id/page_title"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="skipClickListener"
type="View.OnClickListener" />
<variable
name="nextClickListener"
type="View.OnClickListener" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.welcome.WelcomeActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{skipClickListener}"
style="@style/default_text_style_600"
android:id="@+id/skip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginEnd="16dp"
android:paddingTop="13dp"
android:paddingBottom="13dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@string/welcome_carousel_skip"
android:textSize="13sp"
android:textColor="?attr/color_text"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_text"
android:textSize="90sp"
app:layout_constraintTop_toBottomOf="@id/skip"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_text"
android:textSize="50sp"
app:layout_constraintBottom_toBottomOf="@id/title_first_line"
app:layout_constraintStart_toEndOf="@id/title_first_line"/>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="20dp"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintBottom_toTopOf="@id/dots_indicator"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<com.tbuonomo.viewpagerdotsindicator.DotsIndicator
android:id="@+id/dots_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
app:dotsColor="?attr/color_main2_200"
app:dotsCornerRadius="8dp"
app:dotsSize="13dp"
app:dotsSpacing="5dp"
app:dotsWidthFactor="2.5"
app:selectedDotColor="?attr/color_main1_500"
app:progressMode="false"
app:layout_constraintTop_toBottomOf="@id/pager"
app:layout_constraintBottom_toTopOf="@id/next"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{nextClickListener}"
style="@style/primary_button_label_style"
android:id="@+id/next"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@string/next"
app:layout_constraintWidth_max="@dimen/button_max_width"
app:layout_constraintTop_toBottomOf="@id/dots_indicator"
app:layout_constraintBottom_toTopOf="@id/header"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:tint="?attr/color_main1_500"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_linphone_logo"
android:contentDescription="@null"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/message"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/page_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="55dp"
android:text="@string/app_name"
android:textColor="?attr/color_text"
android:textSize="40sp"
android:gravity="center"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintStart_toEndOf="@id/image"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginTop="16dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_1_message"
android:textColor="?attr/color_text"
android:textSize="20sp"
android:gravity="start"
android:maxLines="6"
app:layout_constraintTop_toBottomOf="@id/page_title"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_secured_logo"
android:contentDescription="@null"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/message"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/page_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_2_title"
android:textColor="?attr/color_text"
android:textSize="40sp"
android:gravity="center"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintStart_toEndOf="@id/image"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginTop="16dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_2_message"
android:textColor="?attr/color_text"
android:textSize="20sp"
android:gravity="start"
android:maxLines="6"
app:layout_constraintTop_toBottomOf="@id/page_title"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginStart="32dp"
android:src="@drawable/welcome_open_source_logo"
android:contentDescription="@null"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/message"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/page_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_3_title"
android:textColor="?attr/color_text"
android:textSize="40sp"
android:gravity="center"
app:layout_constraintTop_toTopOf="@id/image"
app:layout_constraintStart_toEndOf="@id/image"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginTop="16dp"
android:layout_marginStart="55dp"
android:text="@string/welcome_page_3_message"
android:textColor="?attr/color_text"
android:textSize="20sp"
android:gravity="start"
android:maxLines="6"
app:layout_constraintTop_toBottomOf="@id/page_title"
app:layout_constraintStart_toEndOf="@id/image"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View file

@ -28,6 +28,7 @@
android:id="@+id/skip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginEnd="16dp"
android:paddingTop="13dp"
android:paddingBottom="13dp"
@ -35,16 +36,56 @@
android:paddingEnd="20dp"
android:text="@string/welcome_carousel_skip"
android:textSize="13sp"
android:textColor="?attr/color_text"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/pager"
app:layout_constraintEnd_toEndOf="parent" />
<ImageView
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/skip"
app:layout_constraintBottom_toBottomOf="@id/title_second_line"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:layout_marginTop="16dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="@id/header"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="65dp"
android:paddingBottom="16dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintTop_toBottomOf="@id/title_first_line"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="20dp"
app:layout_constraintTop_toBottomOf="@id/skip"
app:layout_constraintTop_toBottomOf="@id/header"
app:layout_constraintBottom_toTopOf="@id/dots_indicator"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>

View file

@ -9,56 +9,16 @@
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/title_second_line"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:layout_marginTop="16dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="65dp"
android:paddingBottom="16dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintTop_toBottomOf="@id/title_first_line"
app:layout_constraintEnd_toEndOf="parent"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginTop="110dp"
android:layout_marginTop="80dp"
android:src="@drawable/welcome_linphone_logo"
android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

View file

@ -9,56 +9,16 @@
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/title_second_line"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:layout_marginTop="16dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="65dp"
android:paddingBottom="16dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintTop_toBottomOf="@id/title_first_line"
app:layout_constraintEnd_toEndOf="parent"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginTop="110dp"
android:layout_marginTop="80dp"
android:src="@drawable/welcome_secured_logo"
android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

View file

@ -9,56 +9,16 @@
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/mountains"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/title_second_line"
app:tint="?attr/color_main1_500"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="65dp"
android:layout_marginTop="16dp"
android:text="@string/welcome_page_title"
android:textColor="?attr/color_on_main"
android:textSize="36sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title_second_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="65dp"
android:paddingBottom="16dp"
android:text="@string/welcome_page_subtitle"
android:textColor="?attr/color_on_main"
android:textSize="26sp"
app:layout_constraintTop_toBottomOf="@id/title_first_line"
app:layout_constraintEnd_toEndOf="parent"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="@dimen/welcome_icon_size"
android:layout_marginTop="110dp"
android:layout_marginTop="80dp"
android:src="@drawable/welcome_open_source_logo"
android:contentDescription="@null"
app:tint="?attr/color_main1_500"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/title_second_line"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="welcome_icon_size">150dp</dimen>
</resources>