Melhoramentos nos designs todos e correção de erros

This commit is contained in:
2026-03-10 15:42:51 +00:00
parent 05308a944e
commit 347b916c53
72 changed files with 4467 additions and 415 deletions

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bg_tech_gradient"
android:padding="24dp">
<ImageView
android:id="@+id/btnVoltar"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@android:drawable/ic_menu_close_clear_cancel"
app:tint="@color/white"
android:layout_marginBottom="24dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nova Transação"
android:textSize="24sp"
android:textStyle="bold"
android:textColor="@color/white"
android:layout_marginBottom="32dp"/>
<EditText
android:id="@+id/editValor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Valor (€)"
android:textColorHint="#B0BEC5"
android:textColor="@color/white"
android:inputType="numberDecimal"
android:backgroundTint="@color/tech_accent_cyan"
android:textSize="20sp"
android:layout_marginBottom="24dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Categoria"
android:textColor="#B0BEC5"
android:layout_marginBottom="8dp"/>
<Spinner
android:id="@+id/spinnerCategoria"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/bg_card_tech"
android:layout_marginBottom="40dp"/> <Button
android:id="@+id/btnGuardar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Guardar Transação"
android:textColor="@color/black"
android:padding="12dp"
android:textStyle="bold"
app:backgroundTint="@color/tech_accent_cyan"/>
</LinearLayout>

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="24dp"
android:background="@color/fundo_app"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="32dp">
<TextView
android:id="@+id/btnVoltarDefinicoes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="←"
android:textColor="@color/texto_principal"
android:textSize="32sp"
android:textStyle="bold"
android:paddingEnd="16dp"
android:background="?attr/selectableItemBackgroundBorderless"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Definições"
android:textColor="@color/texto_principal"
android:textSize="28sp"
android:textStyle="bold"/>
</LinearLayout>
<TextView
android:id="@+id/btnEditarPerfil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Editar Perfil"
android:textColor="@color/texto_principal"
android:textSize="18sp"
android:paddingVertical="16dp"
android:background="?attr/selectableItemBackground"/>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/linha_separadora" />
<Switch
android:id="@+id/switchModoEscuro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Modo Escuro"
android:textColor="@color/texto_principal"
android:textSize="18sp"
android:paddingVertical="16dp" />
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/linha_separadora" />
<Switch
android:id="@+id/switchNotificacoes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ativar Notificações"
android:textColor="@color/texto_principal"
android:textSize="18sp"
android:paddingVertical="16dp" />
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/linha_separadora" />
<TextView
android:id="@+id/btnSuporte"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Centro de Suporte"
android:textColor="@color/texto_principal"
android:textSize="18sp"
android:paddingVertical="16dp"
android:background="?attr/selectableItemBackground"/>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/linha_separadora" android:layout_marginBottom="32dp" />
<Button
android:id="@+id/btnTerminarSessao"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Terminar Sessão"
android:textColor="#FFFFFF"
android:textStyle="bold"
android:padding="16dp"
app:cornerRadius="8dp"
android:backgroundTint="#FF1744" /> </LinearLayout>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="24dp"
android:background="#1A202C"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="40dp">
<TextView
android:id="@+id/btnVoltarEditarPerfil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="←"
android:textColor="#FFFFFF"
android:textSize="32sp"
android:textStyle="bold"
android:paddingEnd="16dp"
android:background="?attr/selectableItemBackgroundBorderless"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Editar Perfil"
android:textColor="#FFFFFF"
android:textSize="28sp"
android:textStyle="bold"/>
</LinearLayout>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_circle_icon"
android:src="@android:drawable/ic_menu_camera"
app:tint="#FFFFFF"
android:padding="24dp"
android:layout_marginBottom="32dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nome"
android:textColor="#B0BEC5"
android:textSize="14sp"
android:layout_marginBottom="8dp"/>
<EditText
android:id="@+id/editNomePerfil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2D3748"
android:textColor="#FFFFFF"
android:padding="16dp"
android:hint="O teu nome"
android:textColorHint="#718096"
android:layout_marginBottom="24dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email"
android:textColor="#B0BEC5"
android:textSize="14sp"
android:layout_marginBottom="8dp"/>
<EditText
android:id="@+id/editEmailPerfil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2D3748"
android:textColor="#FFFFFF"
android:padding="16dp"
android:hint="O teu email"
android:textColorHint="#718096"
android:inputType="textEmailAddress"
android:layout_marginBottom="40dp"/>
<Button
android:id="@+id/btnGuardarPerfil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Guardar Alterações"
android:textColor="#1A202C"
android:textStyle="bold"
android:padding="16dp"
app:cornerRadius="8dp"
android:backgroundTint="#00E676" /> </LinearLayout>

View File

@@ -1,95 +1,145 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F7FA"
android:background="@drawable/bg_tech_gradient"
android:padding="24dp">
<com.google.android.material.card.MaterialCardView
<LinearLayout
android:id="@+id/headerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
app:cardCornerRadius="16dp"
app:cardElevation="8dp">
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="60dp"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<androidx.cardview.widget.CardView
android:layout_width="100dp"
android:layout_height="100dp"
app:cardCornerRadius="20dp"
app:cardBackgroundColor="#1AFFFFFF"
app:cardElevation="0dp">
<ImageView
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_gravity="center"
android:src="@drawable/imagem_convertida"/>
android:id="@+id/imgLogoLogin"
android:layout_width="100dp" android:layout_height="100dp"
android:src="@drawable/ic_carteira_tech"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="24dp"
android:background="@android:color/transparent"/>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Finzora"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="#333333"
android:layout_marginTop="8dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FINZORA"
android:textSize="32sp"
android:textStyle="bold"
android:textColor="@color/white"
android:letterSpacing="0.1"
android:layout_marginTop="24dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Entre na sua conta para gerir as suas despesas"
android:textColor="#666666"
android:layout_marginBottom="24dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Acesso ao Sistema"
android:textSize="16sp"
android:textColor="#B0BEC5"/>
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="48dp"
app:layout_constraintTop_toBottomOf="@id/headerLayout">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_cyan"
app:boxStrokeWidth="1dp"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_cyan">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusTopStart="8dp">
android:inputType="textEmailAddress"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_marginTop="16dp"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_cyan"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_cyan"
app:endIconMode="password_toggle"
app:endIconTint="#B0BEC5">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:hint="Palavra-passe"
app:passwordToggleEnabled="true">
android:hint="Password"
android:inputType="textPassword"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/txtEsqueciPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="12dp"
android:text="Esqueci-me da palavra-passe"
android:textColor="@color/tech_accent_cyan"
android:textSize="14sp"
android:textStyle="bold"
android:background="?attr/selectableItemBackground"
android:padding="4dp"/>
<Button
android:id="@+id/btnEntrar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="24dp"
android:text="Entrar"
android:backgroundTint="#4A47E0"
app:cornerRadius="8dp" />
<Button
android:id="@+id/btnEntrar"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="24dp"
android:text="INICIAR SESSÃO"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/black"
app:backgroundTint="@color/tech_accent_cyan"
app:cornerRadius="12dp"/>
<TextView
android:id="@+id/txtRegistrar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:text="Não tem conta? Registar agora"
android:textColor="#4A47E0" />
<TextView
android:id="@+id/txtRegistrar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="24dp"
android:text="Não tens conta? Criar agora"
android:textColor="@color/white"
android:textSize="14sp"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,104 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F7FA"
android:orientation="vertical">
android:background="@color/fundo_app">
<RelativeLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp">
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.material.card.MaterialCardView
android:id="@+id/avatarCard"
android:layout_width="48dp"
android:layout_height="48dp"
app:cardBackgroundColor="#4A47E0"
app:cardCornerRadius="24dp"
app:cardElevation="0dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="J"
<ImageView
android:id="@+id/imgLogo"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:background="@drawable/bg_circle_icon"
android:padding="8dp"
android:src="@android:drawable/ic_menu_gallery"
app:tint="@color/white" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_toEndOf="@id/imgLogo"
android:layout_centerVertical="true"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FINZORA"
android:textColor="@color/tech_accent_cyan"
android:textSize="18sp"
android:textStyle="bold"/>
<TextView
android:id="@+id/tvNomeUsuario"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Olá, Investidor"
android:textColor="@color/texto_principal"
android:textSize="14sp"/>
</LinearLayout>
<Button
android:id="@+id/btnSair"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:text="Sair"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:textStyle="bold" />
</com.google.android.material.card.MaterialCardView>
android:backgroundTint="#FF1744"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
app:cornerRadius="8dp"/>
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_toEndOf="@id/avatarCard"
android:orientation="vertical">
<TextView
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:clipToPadding="false">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Finzora"
android:textColor="#333333"
android:textSize="18sp"
android:textStyle="bold" />
android:orientation="horizontal">
<include layout="@layout/card_saldo_total" />
<include layout="@layout/card_receitas" />
<include layout="@layout/card_despesas" />
</LinearLayout>
</HorizontalScrollView>
<TextView
android:id="@+id/tvNomeUsuario"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Olá, Jorge!"
android:textColor="#666666"/>
</LinearLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/btnSair"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="wrap_content"
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayoutDashboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Sair"
android:textAllCaps="false"
app:cornerRadius="8dp"
app:strokeColor="#DDDDDD" />
</RelativeLayout>
android:layout_marginTop="16dp"
android:background="@android:color/transparent"
app:tabTextColor="@color/texto_principal"
app:tabSelectedTextColor="@color/tech_accent_cyan"
app:tabIndicatorColor="@color/tech_accent_cyan"
app:tabMode="scrollable"/>
<HorizontalScrollView
android:layout_width="match_parent"
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fabAdicionar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="none"
android:clipToPadding="false"
android:paddingStart="16dp"
android:paddingEnd="16dp">
android:layout_gravity="bottom|end"
android:layout_margin="24dp"
android:src="@android:drawable/ic_input_add"
app:backgroundTint="@color/tech_accent_cyan"
app:tint="@color/black"
app:elevation="6dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/btnAbrirDefinicoes"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="bottom|start"
android:layout_margin="24dp"
android:padding="12dp"
android:src="@drawable/ic_settings_pap"
app:tint="@color/texto_principal"
android:elevation="6dp"
android:background="?attr/selectableItemBackgroundBorderless"/>
<include layout="@layout/card_saldo_total" />
<include layout="@layout/card_receitas" />
<include layout="@layout/card_despesas" />
</LinearLayout>
</HorizontalScrollView>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayoutDashboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabIndicatorColor="#4A47E0"
app:tabSelectedTextColor="#4A47E0"
android:contentDescription="Menu de navegação principal" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="HardcodedText"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_tech_gradient">
<com.google.android.material.tabs.TabLayout
android:contentDescription="Indicadores de página"
android:id="@+id/tabLayoutIndicator"
android:layout_width="200dp"
android:layout_height="10dp"
android:layout_marginTop="48dp"
android:background="@drawable/bg_card_tech"
app:tabIndicatorColor="@color/tech_accent_cyan"
app:tabIndicatorHeight="4dp"
app:tabIndicatorFullWidth="false"
app:tabGravity="center"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPagerOnboarding"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@+id/tabLayoutIndicator"
app:layout_constraintBottom_toTopOf="@+id/layoutBotoes" />
<LinearLayout
android:id="@+id/layoutBotoes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="32dp"
android:gravity="center_vertical"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/btnSaltar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Saltar"
android:textSize="16sp"
android:textColor="#90A4AE"
android:background="?attr/selectableItemBackground"
android:padding="8dp"/>
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
android:id="@+id/btnProximo"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="Próximo"
android:textColor="@color/black"
android:textStyle="bold"
app:backgroundTint="@color/tech_accent_cyan"
app:cornerRadius="25dp"
android:paddingHorizontal="32dp"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,132 @@
<?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_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_tech_gradient"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp"
android:gravity="center_horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="O Teu Perfil"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="@color/white"
android:layout_marginTop="40dp"
android:layout_marginBottom="8dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Personaliza a tua identidade no Finzora"
android:textColor="#B0BEC5"
android:textSize="14sp"
android:layout_marginBottom="40dp"/>
<androidx.cardview.widget.CardView
android:layout_width="120dp"
android:layout_height="120dp"
app:cardCornerRadius="60dp"
app:cardBackgroundColor="#20FFFFFF"
app:cardElevation="0dp">
<ImageView
android:id="@+id/imgPerfil"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher_foreground"
android:scaleType="centerCrop"
app:tint="@color/tech_accent_cyan"/>
</androidx.cardview.widget.CardView>
<Button
android:id="@+id/btnEscolherFoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Escolher Foto"
android:layout_marginTop="16dp"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:textColor="@color/tech_accent_cyan"/>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_cyan"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_cyan">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editNomePerfil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nome Completo"
android:inputType="textPersonName"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_cyan"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_cyan">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editBio"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Sobre Mim (Opcional)"
android:inputType="textMultiLine"
android:lines="3"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
android:id="@+id/btnGuardarPerfil"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="Guardar Perfil"
android:textStyle="bold"
android:textColor="@color/black"
app:backgroundTint="@color/tech_accent_cyan"
app:cornerRadius="12dp"
android:layout_marginBottom="16dp"/>
<TextView
android:id="@+id/btnSaltarPerfil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Saltar por agora"
android:textColor="#B0BEC5"
android:textSize="14sp"
android:padding="8dp"/>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_tech_gradient"
android:padding="24dp">
<ImageView
android:id="@+id/btnVoltarRecuperar"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@android:drawable/ic_menu_close_clear_cancel"
app:tint="@color/white"
android:layout_marginTop="24dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/tvTituloRecuperar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Recuperar Palavra-passe"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="@color/white"
android:layout_marginTop="40dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btnVoltarRecuperar"/>
<TextView
android:id="@+id/tvSubtituloRecuperar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Insere o teu email registado. Vamos enviar-te um link mágico para redefinires a tua palavra-passe."
android:textSize="16sp"
android:textColor="#B0BEC5"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@id/tvTituloRecuperar"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="40dp"
app:layout_constraintTop_toBottomOf="@id/tvSubtituloRecuperar">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_cyan"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_cyan">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmailRecuperar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="O teu Email"
android:inputType="textEmailAddress"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/btnEnviarEmail"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="32dp"
android:text="ENVIAR LINK MÁGICO"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/black"
app:backgroundTint="@color/tech_accent_cyan"
app:cornerRadius="12dp"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,131 +1,162 @@
<?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_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F7FA"
android:background="@drawable/bg_tech_gradient"
android:fillViewport="true">
<RelativeLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="24dp">
<com.google.android.material.card.MaterialCardView
android:layout_width="339dp"
android:layout_height="603dp"
android:layout_centerInParent="true"
app:cardCornerRadius="16dp"
app:cardElevation="8dp">
<TextView
android:id="@+id/tvTituloRegisto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nova Conta"
android:textSize="32sp"
android:textStyle="bold"
android:textColor="@color/white"
android:layout_marginTop="40dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
<TextView
android:id="@+id/tvSubtitulo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Junta-te ao futuro das finanças."
android:textSize="16sp"
android:textColor="#B0BEC5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvTituloRegisto"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="40dp"
app:layout_constraintTop_toBottomOf="@id/tvSubtitulo">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="634dp"
android:orientation="vertical"
android:padding="24dp">
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_green"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_green">
<ImageView
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_gravity="center"
android:src="@drawable/imagem_convertida" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="8dp"
android:text="Criar Conta"
android:textColor="#333333"
android:textSize="28sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="24dp"
android:text="Junte-se ao Finzora e comece a gerir as suas finanças"
android:textAlignment="center"
android:textColor="#666666" />
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editNome"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nome"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusTopStart="8dp">
android:hint="Nome Completo"
android:inputType="textPersonName"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editNome"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_green"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_green">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmailRegister"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:hint="Email">
android:hint="Email"
android:inputType="textEmailAddress"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmailRegister"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_green"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_green"
app:endIconMode="password_toggle"
app:endIconTint="#B0BEC5">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassRegister"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:hint="Palavra-passe"
app:passwordToggleEnabled="true">
android:hint="Password"
android:inputType="textPassword"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassRegister"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:textColorHint="#90A4AE"
app:boxStrokeColor="@color/tech_accent_green"
app:boxBackgroundColor="#10FFFFFF"
app:boxCornerRadiusTopStart="12dp"
app:boxCornerRadiusTopEnd="12dp"
app:boxCornerRadiusBottomStart="12dp"
app:boxCornerRadiusBottomEnd="12dp"
app:hintTextColor="@color/tech_accent_green"
app:endIconMode="password_toggle"
app:endIconTint="#B0BEC5">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editConfirmPass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:hint="Confirmar Palavra-passe"
app:passwordToggleEnabled="true">
android:hint="Confirmar Password"
android:inputType="textPassword"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editConfirmPass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/btnCriarConta"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="32dp"
android:text="CRIAR CONTA"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/black"
app:backgroundTint="@color/tech_accent_green"
app:cornerRadius="12dp"/>
<Button
android:id="@+id/btnCriarConta"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="24dp"
android:backgroundTint="#4A47E0"
android:text="Criar Conta"
app:cornerRadius="8dp" />
<TextView
android:id="@+id/txtLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="24dp"
android:text="Já tens conta? Entrar"
android:textColor="@color/white"
android:textSize="14sp"/>
<TextView
android:id="@+id/txtLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:text="Já tem conta? Entrar"
android:textColor="#4A47E0" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View File

@@ -1,41 +1,49 @@
<com.google.android.material.card.MaterialCardView
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="160dp"
android:layout_height="100dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="16dp"
app:cardElevation="4dp">
app:cardElevation="4dp"
app:cardBackgroundColor="@color/fundo_cartao">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
android:padding="20dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Despesas"
android:textColor="#666666" />
android:textColor="@color/texto_principal"
android:textSize="14sp"
android:textStyle="bold" />
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentEnd="true"
android:src="@drawable/redarrow" />
android:src="@android:drawable/arrow_down_float"
app:tint="@color/tech_accent_red" />
</RelativeLayout>
<TextView
android:id="@+id/tvDespesasValor"
android:id="@+id/tvDespesasGeral"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="€150.50"
android:textColor="#D32F2F"
android:textSize="22sp"
android:layout_marginTop="12dp"
android:text="€ 0.00"
android:textColor="@color/tech_accent_red"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.cardview.widget.CardView>

View File

@@ -1,41 +1,49 @@
<com.google.android.material.card.MaterialCardView
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="160dp"
android:layout_height="100dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="16dp"
app:cardElevation="4dp">
app:cardElevation="4dp"
app:cardBackgroundColor="@color/fundo_cartao">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
android:padding="20dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Receitas"
android:textColor="#666666" />
android:textColor="@color/texto_principal"
android:textSize="14sp"
android:textStyle="bold" />
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentEnd="true"
android:src="@drawable/greenarrow" />
android:src="@android:drawable/arrow_up_float"
app:tint="@color/tech_accent_green" />
</RelativeLayout>
<TextView
android:id="@+id/tvReceitasValor"
android:id="@+id/tvReceitasGeral"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="€1500.00"
android:textColor="#2E7D32"
android:textSize="22sp"
android:layout_marginTop="12dp"
android:text="€ 0.00"
android:textColor="@color/tech_accent_green"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.cardview.widget.CardView>

View File

@@ -1,32 +1,45 @@
<com.google.android.material.card.MaterialCardView
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="160dp"
android:layout_height="100dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="16dp"
app:cardElevation="4dp">
app:cardElevation="4dp"
app:cardBackgroundColor="@color/fundo_cartao"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Saldo Total"
android:textColor="#666666" />
android:textColor="@color/texto_principal"
android:textSize="14sp"
android:textStyle="bold" /> <ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentEnd="true"
android:src="@android:drawable/ic_menu_save"
app:tint="@color/tech_accent_cyan" />
</RelativeLayout>
<TextView
android:id="@+id/tvSaldoValor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="€1349.50"
android:textColor="#2E7D32"
android:textSize="22sp"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<TextView
android:id="@+id/tvSaldoGeral"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="€ 0.00"
android:textColor="@color/tech_accent_green"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:padding="16dp">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="20dp"
app:cardBackgroundColor="#FFFFFF"
app:cardElevation="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:layout_marginBottom="24dp">
<TextView android:id="@+id/btnVoltarContactar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="← Voltar" android:textColor="#2D3748" android:textStyle="bold" android:background="?attr/selectableItemBackground" android:paddingEnd="16dp"/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Contactar Suporte" android:textSize="18sp" android:textStyle="bold" android:textColor="#1A202C"/>
</LinearLayout>
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="O seu email" android:background="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp"/>
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Assunto" android:background="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp"/>
<EditText android:layout_width="match_parent" android:layout_height="120dp" android:hint="Descreva o seu problema..." android:background="#F7FAFC" android:padding="16dp" android:gravity="top|start" android:layout_marginBottom="24dp"/>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="end">
<Button android:id="@+id/btnCancelarContacto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cancelar" android:backgroundTint="#FFFFFF" android:textColor="#2D3748" android:layout_marginEnd="8dp"/>
<Button android:id="@+id/btnEnviarMensagem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Enviar Mensagem" android:backgroundTint="#1A202C" android:textColor="#FFFFFF"/>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:padding="16dp">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="500dp"
app:cardCornerRadius="20dp"
app:cardBackgroundColor="#FFFFFF"
app:cardElevation="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="24dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:layout_marginBottom="8dp">
<TextView android:id="@+id/btnVoltarFAQ" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="← Voltar" android:textColor="#2D3748" android:textStyle="bold" android:background="?attr/selectableItemBackground" android:paddingEnd="16dp"/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Perguntas Frequentes" android:textSize="18sp" android:textStyle="bold" android:textColor="#1A202C"/>
</LinearLayout>
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="8dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingBottom="16dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Como adiciono uma transação?" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Vá ao separador 'Adicionar', selecione o tipo (Receita ou Despesa), preencha os campos e clique em 'Adicionar Transação'." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Como posso definir um orçamento?" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="No separador 'Orçamentos', escolha a categoria, defina o limite de gastos e clique em 'Definir Orçamento'." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Como visualizo os meus gastos por categoria?" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Aceda ao separador 'Gráficos' para ver representações visuais dos seus gastos organizados por categoria e período." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="O que são as dicas financeiras?" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="No separador 'Dicas', encontrará recomendações personalizadas baseadas nos seus padrões de gastos para melhorar a sua saúde financeira." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Como edito o meu perfil?" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Clique no ícone de definições ao lado do nome 'Finzora' ou na sua foto de perfil para aceder às configurações." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Os meus dados estão seguros?" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Sim! Todos os seus dados são armazenados localmente no seu dispositivo e não são partilhados com terceiros." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@android:color/transparent"
android:padding="16dp">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="20dp"
app:cardBackgroundColor="#FFFFFF"
app:cardElevation="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centro de Suporte"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="#1A202C"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Como podemos ajudá-lo hoje?"
android:textSize="14sp"
android:textColor="#718096"
android:layout_marginBottom="24dp"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="2"
android:rowCount="2">
<LinearLayout
android:id="@+id/cardFAQ"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:padding="16dp"
android:layout_margin="8dp"
android:background="@drawable/bg_tech_gradient"
android:backgroundTint="#F7FAFC">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Perguntas Frequentes"
android:textStyle="bold"
android:textColor="#2D3748"/>
</LinearLayout>
<LinearLayout
android:id="@+id/cardTutorial"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:padding="16dp"
android:layout_margin="8dp"
android:background="@drawable/bg_tech_gradient"
android:backgroundTint="#F7FAFC">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorial Passo a Passo"
android:textStyle="bold"
android:textColor="#2D3748"/>
</LinearLayout>
<LinearLayout
android:id="@+id/cardMensagem"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:padding="16dp"
android:layout_margin="8dp"
android:background="@drawable/bg_tech_gradient"
android:backgroundTint="#F7FAFC">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contactar Suporte"
android:textStyle="bold"
android:textColor="#2D3748"/>
</LinearLayout>
<LinearLayout
android:id="@+id/cardContactos"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:padding="16dp"
android:layout_margin="8dp"
android:background="@drawable/bg_tech_gradient"
android:backgroundTint="#F7FAFC">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contactos Diretos"
android:textStyle="bold"
android:textColor="#2D3748"/>
</LinearLayout>
</GridLayout>
<Button
android:id="@+id/btnFecharSuporte"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Fechar"
android:backgroundTint="#E2E8F0"
android:textColor="#2D3748"
android:layout_marginTop="16dp"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:padding="16dp">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="500dp"
app:cardCornerRadius="20dp"
app:cardBackgroundColor="#FFFFFF"
app:cardElevation="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="24dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:layout_marginBottom="8dp">
<TextView android:id="@+id/btnVoltarTutorial" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="← Voltar" android:textColor="#2D3748" android:textStyle="bold" android:background="?attr/selectableItemBackground" android:paddingEnd="16dp"/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorial da Finzora" android:textSize="18sp" android:textStyle="bold" android:textColor="#1A202C"/>
</LinearLayout>
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="8dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingBottom="16dp">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="1. Registe as suas transações" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Comece por adicionar todas as suas receitas e despesas no separador 'Adicionar'." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="2. Defina os seus orçamentos" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Estabeleça limites de gastos por categoria para manter o controlo financeiro." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="3. Acompanhe os seus gastos" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Use os gráficos para visualizar para onde vai o seu dinheiro." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F7FAFC" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="4. Siga as dicas personalizadas" android:textStyle="bold" android:textColor="#2D3748" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="A Finzora analisa os seus padrões e fornece recomendações úteis." android:textColor="#718096" android:textSize="13sp"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/bg_tech_gradient" android:backgroundTint="#F0FFF4" android:padding="16dp" android:layout_marginBottom="12dp">
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="✓ Dica Extra" android:textStyle="bold" android:textColor="#2F855A" android:layout_marginBottom="8dp"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Mantenha a sua aplicação atualizada com transações regulares para obter dicas financeiras mais precisas e personalizadas!" android:textColor="#276749" android:textSize="13sp"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@@ -0,0 +1,395 @@
<?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_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_tech_gradient"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Resumo da Sua Saúde Financeira"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="12dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
app:cardCornerRadius="16dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Taxa de Poupança"
android:textColor="@color/white"
android:textStyle="bold"/>
<TextView
android:id="@+id/tvTaxaPoupanca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.0%"
android:textColor="#00E676"
android:textStyle="bold"/>
</LinearLayout>
<ProgressBar
android:id="@+id/progressPoupanca"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="8dp"
android:max="100"
android:progress="0"
android:progressTint="#00E676"
android:layout_marginBottom="16dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:background="#1AFFFFFF"
android:padding="12dp"
android:layout_marginEnd="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Receitas"
android:textColor="#B0BEC5"
android:textSize="12sp"/>
<TextView
android:id="@+id/tvDicasReceitas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="€ 0.00"
android:textColor="#00E676"
android:textStyle="bold"
android:textSize="16sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:background="#1AFFFFFF"
android:padding="12dp"
android:layout_marginStart="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Despesas"
android:textColor="#B0BEC5"
android:textSize="12sp"/>
<TextView
android:id="@+id/tvDicasDespesas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="€ 0.00"
android:textColor="#FF1744"
android:textStyle="bold"
android:textSize="16sp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dicas Personalizadas"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="12dp"/>
<androidx.cardview.widget.CardView
android:id="@+id/cardDica1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
app:cardCornerRadius="12dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/tvTituloDica1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A calcular..."
android:textColor="#00E676"
android:textStyle="bold"
android:textSize="16sp"/>
<TextView
android:id="@+id/tvDescDica1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="..."
android:textColor="#B0BEC5"
android:layout_marginTop="4dp"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/cardDica2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
app:cardCornerRadius="12dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/tvTituloDica2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A analisar gastos..."
android:textColor="#FF1744"
android:textStyle="bold"
android:textSize="16sp"/>
<TextView
android:id="@+id/tvDescDica2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="..."
android:textColor="#B0BEC5"
android:layout_marginTop="4dp"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Distribuição de Gastos"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="12dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
app:cardCornerRadius="12dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="2dp">
<LinearLayout
android:id="@+id/layoutDistribuicao"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="12dp">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_idea"
app:tint="@color/white"
android:layout_marginEnd="8dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dicas Rápidas de Economia"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"/>
</LinearLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
app:cardCornerRadius="12dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="16dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@android:drawable/checkbox_on_background"
app:tint="#00E676"
android:layout_marginTop="2dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Prepare refeições em casa"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="14sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pode poupar até €200/mês reduzindo refeições fora"
android:textColor="#B0BEC5"
android:textSize="12sp"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="16dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@android:drawable/checkbox_on_background"
app:tint="#00E676"
android:layout_marginTop="2dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Compare preços antes de comprar"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="14sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Use apps de comparação para encontrar melhores ofertas"
android:textColor="#B0BEC5"
android:textSize="12sp"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="16dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@android:drawable/checkbox_on_background"
app:tint="#00E676"
android:layout_marginTop="2dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancele subscrições não utilizadas"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="14sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reveja streamings, ginásios e apps que paga mas não usa"
android:textColor="#B0BEC5"
android:textSize="12sp"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@android:drawable/checkbox_on_background"
app:tint="#00E676"
android:layout_marginTop="2dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Use transportes públicos"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="14sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Economize em combustível, estacionamento e manutenção"
android:textColor="#B0BEC5"
android:textSize="12sp"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,88 @@
<?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_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_tech_gradient"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Despesas por Categoria"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="8dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginBottom="24dp"
app:cardCornerRadius="16dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="4dp">
<com.github.mikephil.charting.charts.PieChart
android:id="@+id/pieChartDespesas"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="12dp"/>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Orçamento vs Gastos Reais"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="8dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginBottom="24dp"
app:cardCornerRadius="16dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="4dp">
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/barChartOrcamento"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="12dp"/>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tendência Mensal (Geral)"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="8dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginBottom="24dp"
app:cardCornerRadius="16dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="4dp">
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/barChartTendencia"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="12dp"/>
</androidx.cardview.widget.CardView>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bg_tech_gradient"
android:padding="16dp"
tools:ignore="HardcodedText">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Planeamento de Orçamento"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="18sp"
android:layout_marginBottom="8dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
app:cardCornerRadius="12dp"
app:cardBackgroundColor="@color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Categoria"
android:textColor="#333333"
android:textStyle="bold"
android:textSize="12sp"/>
<Spinner
android:id="@+id/spinnerOrcamento"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:background="#F5F5F5"
android:layout_marginBottom="12dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Limite Mensal (€)"
android:textColor="#333333"
android:textStyle="bold"
android:textSize="12sp"/>
<EditText
android:id="@+id/editLimite"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#F5F5F5"
android:padding="8dp"
android:inputType="numberDecimal"
android:hint="0.00"
android:textColor="#000000"
android:layout_marginBottom="16dp"/>
<Button
android:id="@+id/btnDefinirOrcamento"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Definir Orçamento"
android:backgroundTint="#0F2027"
android:textColor="@color/white"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Orçamentos Ativos"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="18sp"
android:layout_marginBottom="8dp"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerOrcamentos"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bg_tech_gradient"
android:padding="8dp">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerTransacoes"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="80dp"/> </LinearLayout>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"
android:textSize="16sp"
android:textColor="#FFFFFF"
android:background="#1A202C"
android:ellipsize="end"
android:singleLine="true"/>

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="24dp"
android:background="@drawable/bg_tech_gradient"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<androidx.cardview.widget.CardView
android:layout_width="120dp"
android:layout_height="120dp"
app:cardCornerRadius="24dp"
app:cardElevation="0dp"
app:cardBackgroundColor="#20FFFFFF"
android:layout_marginBottom="40dp">
<ImageView
android:id="@+id/imgOnboarding"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:src="@drawable/wallet"/>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/textTitulo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Título do Tutorial"
android:textColor="@color/white"
android:textSize="28sp"
android:textStyle="bold"
android:gravity="center"
android:layout_marginBottom="16dp"/>
<TextView
android:id="@+id/textDescricao"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Descrição detalhada sobre a funcionalidade."
android:textColor="#B0BEC5"
android:textSize="16sp"
android:gravity="center"
android:lineSpacingExtra="6dp"
android:layout_marginHorizontal="16dp"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
app:cardCornerRadius="12dp"
app:cardBackgroundColor="#2C5364"
app:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="8dp">
<TextView
android:id="@+id/tvCatOrcamento"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Alimentação"
android:textStyle="bold"
android:textColor="@color/white"
android:textSize="16sp"/>
<TextView
android:id="@+id/tvValoresOrcamento"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="€85.50 / €300.00"
android:textColor="#B0BEC5"
android:textSize="14sp"/>
</LinearLayout>
<ProgressBar
android:id="@+id/progressOrcamento"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="8dp"
android:progressDrawable="@drawable/progress_savings"
android:max="100"
android:progress="50"/>
<TextView
android:id="@+id/tvRestante"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Restam €214.50 (72%)"
android:textColor="#90A4AE"
android:textSize="12sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
</androidx.cardview.widget.CardView>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="12dp"
app:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp"
android:gravity="center_vertical">
<ImageView
android:id="@+id/imgIcone"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/bg_icone_transacao"
android:src="@android:drawable/ic_menu_sort_by_size"
app:tint="#4CAF50" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:orientation="vertical">
<TextView
android:id="@+id/tvDescricao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Descrição"
android:textColor="#1A202C"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data"
android:textColor="#718096"
android:textSize="14sp"
android:layout_marginTop="4dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="end">
<TextView
android:id="@+id/tvValor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="€ 0.00"
android:textColor="#4CAF50"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/btnEliminar"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_marginTop="8dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@android:drawable/ic_menu_delete"
app:tint="#F44336" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>