144 lines
4.9 KiB
Markdown
144 lines
4.9 KiB
Markdown
# 🎨 Layouts Adicionais e Recursos — Fragments, Dialogs e Drawables
|
||
|
||
> **Pasta:** `app/src/main/res/layout/` e `app/src/main/res/drawable/`
|
||
|
||
---
|
||
|
||
## Layouts de Activity (extras)
|
||
|
||
### `activity_forgot_password.xml` (64 linhas)
|
||
Ecrã de **recuperação de palavra-passe**:
|
||
- Logo da app (187×177dp)
|
||
- Título "Esqueceu a palavra-passe"
|
||
- Texto explicativo
|
||
- Campo email (`email_edit_text`)
|
||
- Botão "Recuperar Palavra-passe" (`reset_button`)
|
||
- Link "Voltar ao Login" (`back_to_login`)
|
||
|
||
### `activity_register.xml` (8607 bytes)
|
||
Layout alternativo de registo (versão paciente). Similar ao `activity_register_medico.xml` mas sem campos de especialidade médica.
|
||
|
||
---
|
||
|
||
## Layouts de Dialog (pop-ups)
|
||
|
||
### `dialog_add_medication.xml` (86 linhas)
|
||
**Diálogo para adicionar medicamento:**
|
||
|
||
| Campo | ID | Tipo |
|
||
|---|---|---|
|
||
| Nome do medicamento | `edit_med_name` | TextInputEditText |
|
||
| Horário | `text_med_time` | TextView (mostra hora, ex: "08:00") |
|
||
| Via de administração | `radio_group_route` | RadioGroup com 3 opções |
|
||
| Notas | `edit_med_notes` | TextInputEditText (multilinha) |
|
||
|
||
**Opções de via de administração:**
|
||
- Via Oral (Pela boca)
|
||
- Via Tópica (Na pele)
|
||
- Via Inalatória (Pelo nariz/boca)
|
||
|
||
### `dialog_change_password.xml` (52 linhas)
|
||
**Diálogo para alterar palavra-passe:**
|
||
- Título "Alterar Palavra-passe"
|
||
- Campo "Nova Palavra-passe" (`new_password`)
|
||
- Botões: "Cancelar" (`button_cancel_password`) + "Salvar" (`button_save_password`)
|
||
|
||
### `dialog_edit_profile.xml` (129 linhas)
|
||
**Diálogo para editar perfil do paciente:**
|
||
- Foto de perfil circular (`edit_profile_image`) com botão "Mudar Foto"
|
||
- Campos: Nome, Idade (máx 3 chars), Nº Utente (máx 9 chars), Email
|
||
- Botão "Alterar Palavra-passe" (`button_change_password`)
|
||
- Botões: "Cancelar" + "Salvar"
|
||
|
||
---
|
||
|
||
## Layouts de Fragment
|
||
|
||
### `fragment_home.xml` (76 linhas)
|
||
**Ecrã inicial do paciente:**
|
||
- Saudação "Olá, utilizador!" (`text_greeting`)
|
||
- Card "Próxima Medicação" (`card_next_medication`) com nome e hora
|
||
- Botão "Marcar Consulta" (`button_book_appointment`)
|
||
|
||
### `fragment_medication.xml` (55 linhas)
|
||
**Gestão de medicamentos do paciente:**
|
||
- Título "Medicação"
|
||
- RecyclerView (`recycler_medication`) — lista de medicamentos
|
||
- Texto "Ainda não tem medicamentos" (`text_empty_medications`)
|
||
- FAB "+" (`fab_add_medication`) — botão flutuante para adicionar
|
||
|
||
### `fragment_profile.xml` (128 linhas)
|
||
**Perfil do paciente:**
|
||
- Foto de perfil circular (`profile_image`)
|
||
- Card com: Nome, Email, Idade, Nº Utente
|
||
- Botão "Editar Dados" (`button_edit_profile`)
|
||
- Botão "Terminar Sessão" (`button_logout`) — contorno vermelho
|
||
|
||
### `fragment_sns24.xml` (93 linhas)
|
||
**Módulo SNS 24 com IA:**
|
||
- Título "SNS 24"
|
||
- Botão "Ligar SNS 24 (808 24 24 24)" (`button_call_sns`) — verde
|
||
- Secção "Triagem com Inteligência Artificial":
|
||
- Campo de sintomas (`input_symptoms`) — multilinha
|
||
- Botão "Analisar Sintomas" (`button_ai_triage`)
|
||
- Resultado da IA (`text_ai_result`) — inicialmente escondido
|
||
- Botão "Hospital mais próximo" (`button_find_hospital`) — vermelho, escondido
|
||
|
||
### `fragment_appointments.xml` (1740 bytes)
|
||
Layout para lista de consultas do paciente com RecyclerView.
|
||
|
||
### `fragment_schedule_appointment.xml` (3421 bytes)
|
||
Layout para agendar novas consultas.
|
||
|
||
---
|
||
|
||
## Layouts de Item (RecyclerView extras)
|
||
|
||
### `item_appointment.xml` (2163 bytes)
|
||
Card para cada consulta na lista do paciente.
|
||
|
||
### `item_medication.xml` (2841 bytes)
|
||
Card para cada medicamento na lista de medicação.
|
||
|
||
### `item_time_slot.xml` (421 bytes)
|
||
Slot de horário para agendamento de consultas.
|
||
|
||
---
|
||
|
||
## Drawables (Recursos Visuais)
|
||
|
||
### Fundos e Shapes
|
||
|
||
| Ficheiro | Descrição |
|
||
|---|---|
|
||
| `bg_bubble_send.xml` | Fundo da bolha de mensagem **enviada** (cor primária, cantos arredondados) |
|
||
| `bg_bubble_receive.xml` | Fundo da bolha de mensagem **recebida** (cinza claro, cantos arredondados) |
|
||
| `bg_chat_input.xml` | Fundo do campo de texto do chat (bordas arredondadas) |
|
||
| `circle_bg.xml` | Fundo circular para ícones de utilizador |
|
||
| `btn_outline_error.xml` | Estilo de botão com contorno vermelho (erro) |
|
||
| `btn_outline_primary.xml` | Estilo de botão com contorno primário |
|
||
|
||
### Ícones
|
||
|
||
| Ficheiro | Descrição |
|
||
|---|---|
|
||
| `ic_arrow_back.xml` | Seta para voltar (←) |
|
||
| `ic_chat.xml` | Ícone de chat/conversa |
|
||
| `ic_send.xml` | Ícone de enviar mensagem |
|
||
| `ic_user.xml` | Ícone de utilizador/pessoa |
|
||
| `ic_placeholder.xml` | Placeholder para fotos de perfil |
|
||
| `ic_nav_agenda.xml` | Ícone da tab Agenda |
|
||
| `ic_nav_pacientes.xml` | Ícone da tab Pacientes |
|
||
| `ic_nav_contactos.xml` | Ícone da tab Contactos |
|
||
| `ic_nav_inicio.xml` | Ícone da tab Início |
|
||
|
||
### Logos e Launcher
|
||
|
||
| Ficheiro | Descrição |
|
||
|---|---|
|
||
| `ic_logo.png` | Logo da aplicação (83KB) |
|
||
| `logo_app.png` | Logo para o ecrã de login (23KB) |
|
||
| `ic_launcher.xml` | Ícone do launcher (adaptive icon) |
|
||
| `ic_launcher_round.xml` | Ícone redondo do launcher |
|
||
| `ic_logo_scaled.xml` | Logo escalada para diferentes tamanhos |
|